小编Dan*_*Dan的帖子

android 传递在视图剪辑边界之外绘制的子视图的触摸事件(ViewPager 第 1 页到第 2 页)

我的 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

有什么建议?

android android-viewpager

5
推荐指数
1
解决办法
2579
查看次数

标签 统计

android ×1

android-viewpager ×1