ich das Layout unten bin mit, hält die CoordinatorLayout
Inneren AppBarLayout
(Mit Toolbar
und TabLayout
im Innern) und ein Platzhalter RelativeLayout
, so konnte ich Fragmente auf sie hinzufügen und ersetzen.CoordinatorLayout mit Toolbar und Fragmente
Ich habe Marginfehler, die Fragmente, die ich auf dem RelativeLayout hinzufüge, werden immer über den unteren Bildschirmrand hinaus ausgedehnt (in der Höhe ähnlich der Größe der AppBarLayout
Höhe), ich habe versucht, die Höhe einzustellen wrap_content
und match_parent
, in beiden Fällen geht es über Bord.
Wenn ich die app:layout_behavior="@string/appbar_scrolling_view_behavior"
aus der RelativeLayout
entfernen, wird die Oberseite davon unter der AppBarLayout
sein, die auch nicht das gewünschte Ergebnis ist.
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:tabIndicatorHeight="4dp"
app:tabIndicatorColor="#ffffff"
app:tabMode="scrollable"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<RelativeLayout
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/main_fragment_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="20dp"
android:src="@drawable/ic_done" />
</android.support.design.widget.CoordinatorLayout>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header"
app:menu="@menu/drawer_view"/>
</android.support.v4.widget.DrawerLayout>
Können Sie ein besseres Beispiel geben? Das 'RelativeLayout' tut nichts und hat eine Höhe von technisch' 0' wegen 'wrap_content', es sei denn, Sie machen programmatisch etwas damit. Wenn Sie es als "Container" verwenden möchten, verwenden Sie ein 'FrameLayout'. –
Ich setze ein Fragment darauf, mache eine Fragmenttransaktion und stelle die ID des RelativeLayouts zur Verfügung, ich habe auch versucht, FrameLayout dasselbe Ergebnis zu verwenden. – Calc
Es ist offensichtlich, dass Sie dies aus Chris Banes Beispiel erhalten haben: https://github.com/chrisbanes/cheesesquare/blob/master/app/src/main/res/layout/include_list_viewpager.xml. Beachten Sie, dass sein 'ViewPager'' match_parent' verwendet? –