2016-07-27 13 views
1

In diesem page Google explizit gesagt TabLayout kann in ViewPager in Layout-XML-Datei integriert werden.TabLayout im Inneren ViewPager funktioniert nicht

ViewPager Integration

Wenn Sie eine ViewPager zusammen mit diesem Layout verwenden sind, können Sie setupWithViewPager (ViewPager) nennen sich die beiden miteinander zu verknüpfen. Dieses Layout wird automatisch von den Seitentiteln der PagerAdapter ausgefüllt.

Diese Ansicht wird auch ein Teil der Einrichtung des ViewPager verwendet wird, unterstützt wird, und kann wie so direkt an die ViewPager in einer Layout-Ressource-Datei hinzugefügt werden:

<android.support.v4.view.ViewPager 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.design.widget.TabLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" /> 

</android.support.v4.view.ViewPager> 

Doch was auch immer ich versuchte, Ich kann TableLayout nicht erscheinen lassen. Trennen Sie beide ist in Ordnung. Ich frage mich, ob das wirklich funktioniert ??

+0

was möchten Sie tun? –

+0

dein tablayout ist in fragment nicht im viewpager! –

+0

können Sie Ihren Bildschirm setzen, was Sie tun möchten !! –

Antwort

1

Ich glaube nicht, TabLayout arbeitet als ViewPager Kind, wie sie behaupten.

Jede Ansicht, die ein Kind von ViewPager sein möchte, muss eine boolesche Layoutparam-Eigenschaft festlegen, die für ViewPager mit der Bezeichnung isDecor gilt. Ich habe gerade den Quellcode durchgesehen und sehe keinen Ort, an dem entweder die ViewPager oder TabLayout diese Layoutparam-Eigenschaft setzt.

Ich denke, es war etwas, was sie tun wollten und entweder a) sie haben es nie getan oder b) es gab ein Problem, so dass sie es herausgenommen haben. Verwenden Sie einfach den TabLayout außerhalb von ViewPager, es hat keinen wirklichen Vorteil, dass es sich um eine Dekoransicht handelt.