Ich habe folgendes Layout:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
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.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.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:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</android.support.design.widget.CoordinatorLayout>
Ich füge Fragment
s hinzu FrameLayout
und ersetze sie. Eine meiner Fragment
Listen ist eine Liste mit folgendem Layout:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Mein Problem hier ist, dass die Symbolleiste über die Liste gezogen wird . Ich habe versucht, das zu lösen, indem ich den Inhalt des CoordinatorLayout
in ein verpackt habe LinearLayout
, das das Überziehen gelöst hat, aber auf diese Weise funktioniert das Scrollverhalten der App-Leiste nicht mehr.
Jede Hilfe wird sehr geschätzt!
Fragment
Enthalten durch eine Liste durch eine andere ersetzt wurdeFragment
. Ich habe es geschafft, die Symbolleiste auf diese Weise manuell anzuzeigen .Ich konnte dies beheben, indem ich hinzufügte:
zum FrameLayout wie folgt:
quelle
android:layout_marginTop="?android:attr/actionBarSize"
Ab Android Studio 3.4 müssen Sie diese Zeile in Ihr Layout einfügen, das die enthält
RecyclerView
.quelle
So verwenden Sie oben ToolBar kollabiert oder mit ScrollFlags Ihrer Wahl können wir auf diese Weise tun: Vom Material Design loswerden FrameLayout
quelle