我目前正在尝试在XML中添加双ScrollView
。
我在布局中使用了两种不同的视图 - 列表和类别。
当用户点击某个类别时,视频列表将变为可见,并且类别将变为不可见。 目前,类别按钮是可滚动的,当我单击类别按钮时,视频列表确实可见。但是,问题是视频列表不会滚动。
这是我的布局代码:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/tools"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--this is parent layout where I call ListView-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/parent01"
android:descendantFocusability="beforeDescendants"
android:fitsSystemWindows="true"
android:focusableInTouchMode="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:orientation="vertical"
android:weightSum="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"></ListView>
<ProgressBar
android:id="@+id/nextProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
android:visibility="gone"
style="@android:style/Widget.DeviceDefault.Light.ProgressBar.Small"/>
</RelativeLayout>
</LinearLayout>
<!--This is the categories layout-->
<ScrollView
android:layout_width="wrap_content"
android:orientation="vertical"
android:id="@+id/ll_buttons"
android:layout_marginTop="60dp"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="200dp">
<Button
android:layout_weight="0.5"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/rec_img"/>
<Button
android:layout_weight="0.5"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/rec_img"
android:id="@+id/button2"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="200dp">
<Button
android:layout_weight="0.5"
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/rec_img"/>
<Button
android:layout_weight="0.5"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/rec_img"
android:id="@+id/button4"/>
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:0)
使用嵌套滚动视图
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.widget.NestedScrollView>
答案 1 :(得分:0)
用于嵌套滚动更好地使用NestedScrollView
当在另一个滚动视图中需要滚动视图时,使用名称建议的NestedScrollView。
<强> ScrollView vs NestedScrollView 强>
另一件事使用
的RecyclerView
Listview
内容
<强> RecyclerView vs. ListView 强>
示例布局
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
// add here all your controlls
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
并且不要忘记在setNestedScrollingEnabled()
中设置RecyclerView
属性,如下面的代码
如果此属性设置为true,则允许视图使用当前层次结构中的兼容父视图启动嵌套滚动操作。如果此视图未实现嵌套滚动,则此操作无效。在嵌套滚动正在进行时禁用嵌套滚动具有停止嵌套滚动的效果。
mRecyclerView.setNestedScrollingEnabled(false);