2017-05-31 3 views
0

Meine frei bewegliche Aktionsleiste wird von viewpager blockiert, die ich auf der gleichen Seite habe.FAB blockiert von ViewPager

Ich möchte FAB auf die Absicht himselfs hinzuzufügen und nicht auf das Fragment, das im Inneren des viewpager, so habe ich diesen Code zu meinem Haupt-Layout-Datei hinzugefügt:

<android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:layout_margin="16dp" 
     android:clickable="true" 
     android:elevation="10dp" 
     android:padding="10dp" 
     android:src="@mipmap/pluscircle" /> 

<android.support.design.widget.TabLayout 
    android:id="@+id/sliding_tabs" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:tabIndicatorColor="#2e9100" 
    app:tabMode="fixed" /> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    android:layout_width="match_parent" 
    android:layout_below="@+id/sliding_tabs" 
    android:layoutDirection="ltr" 
    android:layout_height="match_parent" /> 

Aber aus irgendeinem Grund meine FAB erscheint unter dem tablayout und über viewPager wie folgt: FAB error

Wie kann ich den FAB-Standort beheben, damit er nicht von viewPager blockiert wird?

Antwort

1

Verwenden Sie eine FrameLayout mit layout_gravity auch gelten android:clickable="true" für das Stammlayout.

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:clickable="true"> 

    <android.support.design.widget.FloatingActionButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_margin="16dp" 
     android:clickable="true" 
     android:elevation="10dp" 
     android:padding="10dp" 
     android:src="@mipmap/ic_launcher" /> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/sliding_tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabIndicatorColor="#2e9100" 
     app:tabMode="fixed" /> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@+id/sliding_tabs" 
     android:layoutDirection="ltr" /> 
</FrameLayout> 
-2

Nun ich bin mir nicht sicher, was ich antworte wird deine Lösung sein coz ehrlich gesagt habe ich deine Frage nicht bekommen, benutze FrameLayout für Ansichten in verschiedenen Levels (hier sollte dein FAB im obersten FrameLayout sein) . Viel Glück!

+0

sollten Sie diesen Kommentar posten – Alok

Verwandte Themen