我的应用的触摸区域使用下列ViewPager
:来扩展ViewPager
ViewPager
的具有相同的宽度显示。
我添加利润率的ViewPager在XML中,这样我可以看到左(蓝色)和右(灰色)页面。 因此,一切正常,但我只能触摸到绿色区域来移动页面。
我想扩大触摸区域到整个屏幕,以便我能够随时随地触及到移动ViewPager
。
我尝试添加TouchDelegate
:
binding.pagerContainer.post {
val rect = Rect()
binding.touchArea.getHitRect(rect)
binding.pagerContainer.touchDelegate = TouchDelegate(rect, binding.viewPager)
}
并且XML:
<FrameLayout
android:id="@+id/pager_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:clipChildren="false">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_marginBottom="150dp"
android:layout_marginLeft="70dp"
android:layout_marginRight="70dp"
android:layout_marginTop="150dp"
android:clipChildren="false"/>
<View
android:id="@+id/touchArea"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0">
</View>
</FrameLayout>
的Rect
具有正确的尺寸。 我发布Runnable
以确保视图已布置。 我阅读了TouchDelegate
的文档。
我不知道为什么它不起作用。
天才!爱你:) – Appyx
它肯定有帮助,如果我读完整个问题:) – Gary99