1

我正在尝试使用umano的 SlidingUpPanel 并将滑块设置为 ViewPager。

但是,当尝试左右滚动时,ViewPager 不会移动。SlidingUpPanel 似乎正在拦截触摸事件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.sothree.slidinguppanel.SlidingUpPanelLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/slider_layout"
        android:layout_gravity="bottom">

        <!-- Top Panel -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </LinearLayout>

        <!-- Sliding Panel -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <android.support.v4.view.ViewPager
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/pager">
            </android.support.v4.view.ViewPager>

        </LinearLayout>
    </com.sothree.slidinguppanel.SlidingUpPanelLayout>

</RelativeLayout>
4

1 回答 1

5

尝试:

  • 对 ViewPager 使用 setDragView 方法。
  • 使用 setEnableDragViewTouchEvents 以便 dragview/ViewPager 可以拥有自己的触摸事件。

或者,除了用于拖动的 ViewPager 之外制作一个单独的 View,并将 DragView 设置为此 View,ViewPAger 应该单独接收触摸事件并可以处理它们。(后者是我的做法并与其他布局一起使用)

于 2014-02-14T06:51:08.973 回答