1

Я пытаюсь использовать SlidingUpPanel от umano и иметь ползунок как ViewPager.Взаимодействие с ViewPager в SlidingUpPanel

Однако при прокрутке влево и вправо ViewPager не перемещается. По-видимому, события Touch перехватываются 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> 

ответ

5

Try:

  • Используйте метод setDragView для ViewPager.
  • Используйте setEnableDragViewTouchEvents, поэтому у dragview/ViewPager может быть собственный контакт событий.

Альтернативно сделать отдельный вид отдельно от ViewPager, который предназначен быть для перетаскивания и установить DragView этой точки зрения, соответственно, ViewPager должен получать события прикосновения и может отдельно обрабатывать их. (последнее - это то, как я это делаю и работаю с другим макетом)

+0

Так будет работать, но для этого требуется наличие функции «drag handle», а ViewPager будет поддерживать только прокрутку влево и вправо. Я все равно хотел бы найти решение, которое позволяет перетаскивать ViewPager вертикально. –

+0

Я пробовал это безрезультатно. Возможно, вы имели в виду: slideUpPanelLayout.setDragView (((MainActivity) getActivity()). ViewPager); slideUpPanelLayout.setEnableDragViewTouchEvents (true); – Giorgio

 Смежные вопросы

  • Нет связанных вопросов^_^