Ho notato che il contenuto di una NestedSCrollView all'interno di un CoordinatorLayout si allinea sempre sul fondo se non riempie l'intero schermo. Come posso ripararlo?Android NestedScrollView allinea il contenuto in cima
Il mio codice:
<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>
Come si può vedere, la CardView all'interno del NestedScrollView è 200dp alta, e allinea sul fondo.
purtroppo, che non risolvere il problema. Come dovrei usarlo? Basta usare app: layout_anchorGravity = "top" invece di android: layout_gravity = "top"? Inoltre, dovrei metterlo nel LinearLayout? – qwertz
La nuova modifica non lo ha risolto o – qwertz
hai messo gli attributi sul linearlayout o sul nestedlayout? – EE66