2014-02-19 206 views
1

我一直在努力這一段時間,迄今一直無法找到答案。 我在RelativeLayout中有一個TableLayout。我需要TableLayout是可滾動的,而不是相對佈局,因爲它有我不打算移動的靜態按鈕。嵌套佈局ScrollView

<ScrollView 
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" 
android:scrollbars="vertical" 
android:layout_weight="1"> 
    <RelativeLayout 
android:id="@+id/RelativeLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".Encuestas" > 
    <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="14dp" 
    android:layout_marginTop="14dp" 
    android:onClick="SyncServer" 
    android:text="Sync" /> 

     <TableLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:id="@+id/TableLayout1" 
    android:layout_alignParentRight="true" 
    android:layout_below="@+id/button1" > 

     </TableLayout> 


</RelativeLayout> 
</ScrollView> 

有了這個代碼,我可以滾動整個屏幕,但如果我嘗試把對TableLayout了滾動,我無法點擊我創建的按鈕。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".Encuestas" > 

    <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginRight="14dp" 
    android:layout_marginTop="14dp" 
    android:onClick="SyncServer" 
    android:text="Sync" /> 
    <ScrollView 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="vertical" 
    android:layout_weight="1"> 
    <TableLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:id="@+id/TableLayout1" 
    android:layout_alignParentRight="true" 
    android:layout_below="@+id/button1" > 


</TableLayout> 

    </ScrollView> 
    </RelativeLayout> 

這一次不允許我點擊的按鈕。有什麼建議麼?

+0

我認爲這可能是由於這樣的事實,'ScrollView'正在被添加到'Button'之後的佈局中,並被配置爲匹配父級的高度和寬度,因此它位於z-index中的「Button」之上。嘗試在'ScrollView'後添加'Button'。 –

+0

謝謝Manveer Chawla。我忘了ScrollView在按鈕前面。 –

+0

如果這對你有用,我應該發佈這個答案嗎? :) –

回答

1

永遠不要在另一個可滾動視圖內滾動視圖(即滾動相同的方向)。這條規則唯一的例外是,當主在你的榮耀和手中出現在你面前時,你的石碑上刻有一些別的東西。

無論如何,第二佈局將有一個小的修改工作,你必須告訴佈局把滾動視圖按鈕下面,像這樣:

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scrollbars="vertical" 
    android:layout_below="@id/button1" 
    android:layout_weight="1"> 
+0

完美的答案!像魅力一樣工作。 Manveer Chawla的評論也適用 –