我的 Android ViewPager 已设置在边界外绘制视图(剪辑边界设置为 false)。我在页面上显示的所有视图上都有一个触摸事件侦听器。自定义视图显示在页面 1 上,绘制在其裁剪边界之外并溢出到页面 2。页面 1 上的触摸事件工作正常。滚动到第二页时,将显示剩余视图。问题是自定义视图(添加在页面 1 上)上的触摸事件在点击页面 2 时不会被调用。
PageViewActivity.cs
ViewPager mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setClipChildren(false);
mViewPager.setClipToPadding(false);
Run Code Online (Sandbox Code Playgroud)
PageViewFragment.cs
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.page_layout, container, false);
setHasOptionsMenu(true);
View view1=(View)v.findViewById(R.id.view1);
view1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "View clicked",Toast.LENGTH_SHORT).show();
}
});return v;
Run Code Online (Sandbox Code Playgroud)
}
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="false"
android:clipToPadding="false" >
<View
android:id="@+id/view1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginLeft="250dp"
android:layout_marginTop="20dp"
android:background="#ff0000" />
Run Code Online (Sandbox Code Playgroud)
片段布局 - page_layout.xml
有什么建议?