1

在Gallery等內部有一些關於ScrollViews的問題,但是我有一些完全相反的東西,我找不到任何解決方案。ScrollView中的圖庫 - 垂直滾動不起作用

問題:我在一個ScrollView中有多個畫廊。水平滾動的畫廊工作正常(這裏沒有什麼改變,只是從SDK的標準畫廊類),但垂直滾動的ScrollView,整個活動沒有。它看起來像畫廊正在攔截觸摸事件。你能幫我解決這個問題嗎?

這是我的佈局XML:

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/scrollview_home" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 
    <RelativeLayout 
     android:id="@+id/layout_home" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
     <RelativeLayout 
      ...> 
      <Button 
       .../> 
      <Gallery 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:id="@+id/gallery_..." 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       ... /> 
      <TextView 
       ... /> 
     </RelativeLayout>//this layout is repeated few times, because I have multiple galleries 
    </RelativeLayout> 
</ScrollView> 

謝謝!

+2

您無法可靠地將可滾動的東西放入其他可滾動的東西中。 – CommonsWare

+0

即使父母是垂直的而孩子是水平的? – EyesClear

+1

同樣,問題是*可靠*。是的,有時候,將某個方向滾動到某個朝另一個方向滾動的某個方向的方式起作用。把兩個朝同一個方向滾動的東西幾乎從不起作用。 – CommonsWare

回答

1

您可以使頂部RelativeLayout(包含所有其他RelativeLayouts)的寬度比ScrollView小30-40 dp。這允許用戶觸摸ScrollView中未被圖庫覆蓋的區域,所以Touch不被攔截,並且應該按預期工作。