HorizontalScrollView和ViewPager的滑动事件冲突

发布于 2022-09-02 09:39:16 字数 4092 浏览 17 评论 0

主页面侧滑菜单用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);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

过潦 2022-09-09 09:39:16

自己写一个类继承HorizontalScrollView
重载

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

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

凯凯我们等你回来 2022-09-09 09:39:16

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文