HorizontalScrollView和ViewPager的滑动事件冲突

主页面侧滑菜单用HorizontalScrollView来做成slidingmenu的样式,主页是viewpager来做的
但是现在侧滑菜单没问题,能正常滑入滑出,而viewpager则不能滑动,只能进行点击tabs来切换fragment,请问怎么处理???

布局文件代码

<com.example.songriseplayer.SlidingMenu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:zhy="http://schemas.android.com/apk/res/com.example.songriseplayer"
    xmlns:app1="http://schemas.android.com/apk/res/com.example.songriseplayer"
    android:id="@+id/id_menu"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:scrollbars="none"
    zhy:rightPadding="100dp" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <include layout="@layout/layout_menu" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <LinearLayout
                android:id="@+id/linearlayout1"
                android:layout_width="match_parent"
                android:layout_height="50dp"
                android:background="#666666"
                android:orientation="horizontal" >

                <ImageView
                    android:id="@+id/imageview1_menu"
                    android:layout_width="55dp"
                    android:layout_height="55dp"
                    android:layout_gravity="center"
                    android:onClick="toggleMenu"
                    android:paddingLeft="20dp"
                    android:paddingRight="13dp"
                    android:src="@drawable/cehua_menu_2" />

                <com.astuetz.PagerSlidingTabStrip
                    android:id="@+id/tabs"
                    android:layout_width="match_parent"
                    android:layout_height="50dip"
                    android:layout_weight="1"
                    android:background="#666666"
                    app1:pstsDividerColor="#ffffff"
                    app1:pstsIndicatorColor="#ffffff"
                    app1:pstsIndicatorHeight="5dp"
                    app1:pstsShouldExpand="true" />

                <ImageView
                    android:id="@+id/imageview1_search"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="13dp"
                    android:paddingRight="20dp"
                    android:src="@drawable/search" />
            </LinearLayout>

            <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/colors"
                android:layout_below="@+id/linearlayout1"
                tools:context=".MainActivity" />
        </RelativeLayout>
    </LinearLayout>

</com.example.songriseplayer.SlidingMenu>

MainActivity.java部分代码

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);

        tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
        pager = (ViewPager) findViewById(R.id.pager);
        adapter = new MyPagerAdapter(getSupportFragmentManager());
        imageview1_search = (ImageView) findViewById(R.id.imageview1_search);
        imageview1_menu = (ImageView) findViewById(R.id.imageview1_menu);
        mMenu = (SlidingMenu) findViewById(R.id.id_menu);

        pager.setAdapter(adapter);

        final int pageMargin = (int) TypedValue.applyDimension(
                TypedValue.COMPLEX_UNIT_DIP, 4, getResources()
                        .getDisplayMetrics());
        pager.setPageMargin(pageMargin);

        tabs.setViewPager(pager);
}
阅读 7.1k
2 个回答

自己写一个类继承HorizontalScrollView
重载

public boolean pageScroll(int direction){
    ...
    return  false;
}

可能是pageScroll把滑动时间给截掉了

问题太片面了 ,贴点代码吧 可能你的xml就错了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题