Ich bemerkte, dass der Inhalt in einer NestedSCrollView in einem CoordinatorLayout immer auf der Unterseite ausgerichtet ist, wenn es nicht den gesamten Bildschirm füllt. Wie kann ich das beheben?Android NestedScrollView Inhalt an der Spitze ausrichten
Mein Code:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="140dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp">
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchorGravity="top|start"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="24dp"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
card_view:cardBackgroundColor="@color/white"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>
<ListView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:divider="@color/black_200"
android:dividerHeight="-7dp"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:src="@drawable/ic_navigate"
android:layout_margin="16dp"
app:backgroundTint="@color/accent_yellow"
app:borderWidth="0dp"
app:elevation="8dp"
app:pressedTranslationZ="12dp"
app:fabSize="normal"
app:rippleColor="@color/accent_dark_yellow"
app:layout_anchor="@id/appbar"
app:layout_anchorGravity="bottom|right|end"/>
</android.support.design.widget.CoordinatorLayout>
Wie Sie sehen können, die CardView innerhalb des NestedScrollView ist 200dp hoch und richtet auf der Unterseite.
leider, dass es nicht beheben war. Wie soll ich es benutzen? Verwenden Sie einfach app: layout_anchorGravity = "top" anstelle von android: layout_gravity = "top"? Sollte ich das auch in das LinearLayout tun? – qwertz
Die neue Bearbeitung hat es auch nicht behoben – qwertz
hast du die Attribute auf dem Linearlayout oder dem Nestedlayout gesetzt? – EE66