ListView不在NestedScrollView内部扩展

在我的活动页面中使用协调员布局。 在那里有应用程序栏下面的ListView。 但是,当我使用ListView而不是NestedScrollView它不工作。 如果我把ListView里面的NestedScrollView,ListView不扩大

Solutions Collecting From Web of "ListView不在NestedScrollView内部扩展"

要使CoordinatorLayout正常工作,需要滚动的子项来实现NestedScrollingChild 。 这样的类是NestedScrollViewRecyclerView

要说它简短 – 只需使用RecyclerView滚动内容,它会正常工作:)

PS作为一个侧面说明,我不明白为什么你会使用一个ListView了。 我知道这是一种习惯,而且设置起来也比较容易(因为你已经做了很多次了),但是使用RecyclerView是推荐的方法。

你可以在android.support.v4.widget.NestedScrollView :)中添加addtribute android:fillViewport="true"时修复它。 这是我的代码。

 <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:fillViewport="true" > <ListView android:id="@+id/list_myContent" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" > </ListView> </android.support.v4.widget.NestedScrollView> 

在棒棒糖上,你可以使用

 setNestedScrollingEnabled(true); 

在你的ListView / GridView / ScrollableView上。 从文档

启用或禁用此视图的嵌套滚动

如果您需要向后兼容旧版本的操作系统,则必须使用RecyclerView 。 你可以在这里阅读更多

编辑。 ViewCompat具有静态方法setNestedScrollingEnabled(View, boolean) 。 例如。

 ViewCompat.setNestedScrollingEnabled(listView, true) 

感谢@Dogcat指出

只要把你的NestedScrollView标签里面的android:fillViewport="true"

你不能在一个nestedscrollview中滚动listview。使用nestedscrollview使用Recyclerview

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorAccent" android:orientation="horizontal"> <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/profile_image" android:layout_width="76dp" android:layout_height="76dp" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_centerVertical="true" android:layout_marginLeft="24dp" android:layout_marginStart="24dp" android:src="@drawable/profile" app:border_color="#FF000000" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="20dp" android:layout_toRightOf="@+id/profile_image" android:gravity="center_vertical" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="IRFAN QURESHI" android:textSize="20sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="irfan123@gmail.com" /> </LinearLayout> <ImageView android:layout_marginLeft="50dp" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_delete_black" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:background="@color/colorPrimary" android:gravity="center_horizontal" android:padding="30dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:background="@drawable/login_email_bg_round_rect_shape" android:gravity="center_horizontal" android:padding="10dp" android:text="POST A QUERY" /> </LinearLayout> <!--<ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content"> </ListView>--> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical" /> <RelativeLayout android:background="@color/colorAccent" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:padding="8dp" android:gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SIGN OUT" /> <ImageView android:paddingTop="5dp" android:layout_marginRight="40dp" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_delete_black" /> </RelativeLayout> </LinearLayout> </android.support.v4.widget.NestedScrollView> </android.support.v4.widget.NestedScrollView> 

只需在NestedScrollView中添加android:nestedScrollingEnabled =“true”标记即可。

 <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" android:nestedScrollingEnabled="true"> <ListView android:id="@+id/list_myContent" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical"> </ListView>