Wie kann ich erklären, ein Fragment, als versteckt in einem XML-layout
Meine Tätigkeit erklärt alle seine GUI-Fragmente in einer einzigen XML-layout. Es muss nur der display ein paar der Fragmente an den Start; den rest bekommen gezeigt, wie die Benutzer mit der Anwendung interagiert. Ein Teil des layout ist wie folgt:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/map_panel"
android:name="com.example.MapPanel"
android:layout_width="match_parent"
android:layout_height="@dimen/map_panel_height" />
<fragment
android:id="@+id/list_panel"
android:name="com.example.ListPanel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/map_panel" />
<fragment
android:id="@+id/detail_panel"
android:name="com.example.DetailPanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/map_panel"
android:visibility="gone" />
Meine Absicht ist, dass die list_panel
fragment sichtbar ist am Start, und die detail_panel
fragment wird ausgeblendet, bis der Benutzer wählt etwas aus der Liste aus.
Standardmäßig ein fragment beginnt mit den isHidden
Attribut als falsch. Das bedeutet, dass meine Aktivität hat, Durchlaufen die geladenen Fragmente und manuell aufrufen isHidden(true)
auf Fragmente wie detail_panel
beim Systemstart.
Ich würde es vorziehen, zu erklären, dass die isHidden
status in der XML-layout. Jedoch, die Einstellung android:visibility="gone"
im <fragment>
Erklärung ändert nicht die isHidden
status, und ich finde keine Dokumentation über ein weiteres Attribut, das würde den trick tun.
Ist es möglich, ein XML-Attribut auf eine <fragment>
zu verursachen, dass es versteckt werden?
Hinweis: ich befasse mich nicht mit der Sicht, ich bin besorgt, mit der fragment.isHidden()
Wert. Das betrifft, wie FragmentManager manipuliert den stack zurück und führt die Animationen. Wenn Sie anrufen transaction.show(fragment)
auf ein fragment, dessen Blick unsichtbar oder verschwunden, aber der fragment.isHidden()
Wert false ist, dann wird der FragmentManager nicht die view sichtbar. Sehen http://developer.android.com/reference/android/app/Fragment.html#isHidden() für Referenz.
Ja, ich habe versucht "unsichtbar" neben "gone". Weder Auswirkungen auf das fragment isHidden status.
Was meinst du mit "inaddition zu gegangen". hast du nur versuchen "unsichtbar". In diesem Fall wird es schaffen, die fragmment und halten Sie es in einem unsichtbaren Zustand.
Nein, die Einstellung für android:visibility="invisible" innerhalb eines <fragment> - tag keine Auswirkungen auf die isHidden Zustand des fragments.
Hast du eine Antwort?
InformationsquelleAutor Jay Lieske | 2013-11-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stand ich vor einer ähnlichen situation, wo ich mich verstecken musste, ein fragment.
Ich einfach enthalten das fragment innerhalb eines LinearLayout und markiert das layout sichtbar/verschwunden.
InformationsquelleAutor Vikas
Basierend auf Jyo ' s post, verwenden Sie diese:
Dieser arbeitete für mich auf API-Ebene 23.
mFragment
ist das fragment, das Sie ausblenden möchten.InformationsquelleAutor Neil
Diese Antwort ist ein bisschen spät dachte, es kann hilfreich sein, für zukünftige Referenz. Sichtbarkeit ist Teil der View-Klasse - Fragment extends object wenn Sie keinen Zugang zu der Sichtbarkeit der Werte. Eine Möglichkeit ist, dass die Fragment ein Kind von einem FrameLayout und ruft unsichtbar oder Weg auf das layout. Dadurch wird das fragment so zu erscheinen, ausgeblendet werden.
Hoffe, es hilft!
visibility
Zustand der Anzeigen hat keinen Einfluss auf dieisHidden
Zustand des Fragments.die Verpackung der
fragment
um eineFrameLayout
ist die einfachste und effektivste IMHOdies ist gegen die Google-Empfehlungen, die die Verwendung der FragmentManager zu verstecken/zeigen Fragmente.
InformationsquelleAutor Clocker
InformationsquelleAutor Jyo the Whiff
wir haben die isVisible-Methode für fragment
seeting Tabelleneigenschaften zu Gegangen, nicht nehmen jeden Raum
Wo, wie Unsichtbare nimmt die eigentlichen view-space.
isHidden
Zustand des fragments.dies ist gegen die Google-Empfehlungen, die die Verwendung der FragmentManager zu verstecken/zeigen Fragmente.
InformationsquelleAutor SHASHIDHAR MANCHUKONDA