简而言之:
我有一个ViewPager
,vpOuter
显示有另一个ViewPager
,的片段vpInner
。
用户应该能够在片段之间滑动,vpOuter
但显示的片段vpInner
只能以编程方式交换。
现在,向上滑动vpInner
没有任何作用,而向外滑动则在's 的片段vpInner
之间切换。vpOuter
我怎样才能使刷卡vpInner
被识别为在 之间刷卡vpOuter
?
(两人ViewPager
互不相识)
完整的故事:
好的,所以我有一个具有三个片段的视图寻呼机的活动。
我们称它们为 A、B 和 C。
现在用户可以在它们之间滑动或使用底部导航。
A
是我们的“查看器片段”,如果有要显示的东西,它会显示一些东西,如果没有要显示的东西,它会显示任何东西,但它一次只会显示一个东西。
A
包含一个不可滑动的视图寻呼机。
这背后的原因是我们想要显示文本和图像以及谁知道什么,我们为我们想要显示的每种媒体类型创建一个视图片段。所以当我们有一些东西要显示时,我们检查那个东西是什么,切换到相应的片段并用数据填充它。
结果,A 将如下所示:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout 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:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<[...].android.ui.widgets.NonswipableViewPager
android:id="@+id/view_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<!--irrrelevant floating action button here-->
</android.support.design.widget.CoordinatorLayout>
在哪里
/**A view pager that disables swiping to switch between pages.
* Switching must happen programmatically.*/
class NonswipableViewPager:ViewPager{
constructor(context:Context):super(context)
constructor(context: Context,attributeSet: AttributeSet):super(context,attributeSet)
override fun onInterceptTouchEvent(ev: MotionEvent?): Boolean {
return false
}
override fun onTouchEvent(ev: MotionEvent?): Boolean {
return false
}
}
让我们假设只有我们想要显示的文本内容。
如果有TextContentView显示,一切正常,我可以在片段之间滑动,A没有问题。BC
但是,当NoContentView正在显示时,我需要有意识地避免滑动时的文本内容,否则它不会做任何事情。
我怎样才能让它总是表现得好像不可滑动的视图寻呼机不存在一样?
qq_花开花谢_0
相关分类