将“线性布局”更改为“相对布局”后,滑动更改无效。
此处是整个xml代码。
<RelativeLayout 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.v4.view.ViewPager
android:id="@+id/singleSlider"
android:layout_width="match_parent"
android:layout_height="@dimen/slider_height"
android:background="@color/colorPrimaryDark" />
<android.support.v4.widget.NestedScrollView
android:id="@+id/singleScroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
...
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
可能有什么问题?
它不适用于框架布局。
有什么建议吗?
答案 0 :(得分:4)
NestedScrollView
现在位于ViewPager
上方(z轴),因此ViewPager
没有收到触摸事件。
添加
android:layout_below="@+id/singleSlider"
您的NestedScrollView
。
答案 1 :(得分:0)
我认为您使用 Linear Layout 之前,您的View-pager和NestedScrollView是重叠。因此它一一进行,但是现在在相对布局中它是重叠的。 使用 layout_below 属性
答案 2 :(得分:0)
现在,您的嵌套滚动视图和视图分页器只是两个相互重叠的独立事物,不确定您是否要在嵌套滚动视图中使用视图分页器,还是要在视图分页器内部使用嵌套滚动条,所以我将在嵌套滚动条中显示视图
<RelativeLayout 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.v4.widget.NestedScrollView
android:id="@+id/singleScroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/singleSlider"
android:layout_width="match_parent"
android:layout_height="@dimen/slider_height"
android:background="@color/colorPrimaryDark" />
</android.support.v4.widget.NestedScrollView>
</RelativeLayout>
然后,当您调用滚动视图时
您还可以设置
android:fillViewport="true"
在嵌套滚动视图上定义滚动视图是否应拉伸其内容以填充视口
如果这不是您想要的,您可以显示一个模型或显示您希望它如何运行的内容,我将相应地编辑答案