2012-07-24 10 views
6

Ich verwende die SemiClosedSlidingDrawer in meiner App.Android View Lifecycle

Schnell erklären:

  1. Sliding Schublade Griff und Inhalt Teil
  2. Der Inhaltsteil teilweise an Ansicht Schaffung

Problem geöffnet wird:

Wenn ich eine Ansicht erstelle, wird der Inhaltsteil aufgeblasen und zwischengespeichert und dann teilweise angezeigt. Wenn ich irgendeine Operation am Hauptinhalt ausführe. Es spiegelt sich in den Inhalt Teil der Schublade. Auch ist es teilweise sichtbar.

Ich habe die Antwort gefunden, dass der Inhalt nicht auf GONE gesetzt ist, so dass nur Touch-Ereignisse empfangen werden.

Ich muss den Inhalt GONE nachdem alle Inflation Caching abgeschlossen. Also muss ich wissen

Welche Ansicht Creation Lifecycle-Methode zuletzt genannt? oder Wo legen Sie die Sichtbarkeitseigenschaften von ChildView fest?

Ich kann meine slidingDrawer Inhalt in Aktivität und auf GONE es funktioniert gut bezeichnen. Aber es sollte einen angemessenen Weg geben, dieses Problem zu beheben.

Antwort

0

Ich verstehe nicht, warum Sie nicht einfach den Inhalt Teil in onCreate() Ihrer Aktivität gehen können?

Alternativ können Sie Ihre eigene Implementierung von SemiClosedSlidingDrawer erstellen und alle Konstruktoren mit Ihrer eigenen Implementierung überschreiben. Etwas wie dieses:

SemiClosedSlidingDrawer() { 
    super.SemiClosedSlidingDrawer(); 
    mContent.setVisibility(View.GONE); 
} 
+0

Ich sagte "Ich habe es getan und es hat funktioniert". Aber ich möchte nur die Life-Cycle-Methode von View kennen, die nach der Inflation aufgerufen wird, so dass sie halb sichtbar wird und keine Ereignisse verbraucht. –

+0

Ich versuchte es mit dem Konstruktor Trick. Aber der untere Inhaltsteil ist schwarz [Nicht aufgeblasen und zwischengespeichert] –

+0

@mahemadhi Sie möchten, dass es sichtbar ist, aber Sie möchten nicht, dass es Klickereignisse aufnimmt und interagieren kann? – Warpzit