Android:来自RelativeLayout的ScrollView阻止按钮

时间:2014-11-03 20:44:09

标签: android layout scrollview

我的应用目前看起来像这样:

enter image description here

当我点击button时,边框颜色会变为绿色,如上所示。我为我的单词列表添加了scrollview,如图右侧所示。问题是此scrollview几乎覆盖了整个屏幕宽度,我无法点击buttons的前三行。

布局的简要说明:

我创建了一个relative layout。 25 buttons位于此relative layout中。然后,在relative layout内我创建了一个scrollable linear layout,其中包含20 textviews

有人可以帮我修复这个布局吗?我希望能够点击所有buttons并让scrollview不阻止buttons

我认为将buttons放在主relative layout内的relative layout中可能是个好主意。有没有人知道如何在不重做整个布局的情况下做到这一点?

此外,如果您对正确的布局编码方式有任何建议,请告诉我。我很熟悉android编程,不知道我是否应该使用relative layout vs linear layout vs frame layoutmatch_parent vs fill_parent vs {{1} }。如果我误用其中任何一个,请告诉我。

wrap_content

1 个答案:

答案 0 :(得分:0)

使用LinearLayout而不是RelativeLayout作为顶部布局,并使其成为android:orientation =" horizo​​ntal"。

然后将所有按钮放在RelativeLayout中,并附带android:layout_weight =" 1"和android:layout_width =" 0dp"。

还将ScrollView放在第二个RelativeLayout中,宽度为" wrap_content"。

这是结构:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    <RelativeLayout
        android:layout_widtht="0dp"
        android:layout_heigh="fill_parent"
        android:layout_weight="1">

        All buttons go here...

    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="fill_parent">

        Scroll view goes here...

    </RelativeLayout>
</LinearLayout>