1

我有一个包含 2 个单选按钮项目的列表视图。当从布局中膨胀它时,即使有很多空间,它也可以滚动,如下所示。在此处输入图像描述 如屏幕截图所示,我有 2 个单选按钮。1. 距离 2. 评分

但是“评级”单选按钮不可见,我必须滚动才能看到它。为什么会这样。我尝试将布局高度设置为包装内容、填充父级和匹配父级。但这并没有解决问题。知道为什么会这样吗?

我在这里引用列表视图:

ListView radio_list = (ListView) view.findViewById(R.id.RadioList);
radio_list.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_single_choice,
                radio_list_items));

radio_list.setItemsCanFocus(true);
radio_list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

我的xml:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:paddingLeft="10dp"
                android:text="SEARCH"
                android:textColor="#FF3300"
                android:textSize="20dp" >
            </TextView>
        </LinearLayout>

        <RelativeLayout
            android:id="@+id/searchTextLayout"
            android:layout_width="match_parent"
            android:layout_height="50dip"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginBottom="20dip"
            android:layout_marginLeft="20dip"
            android:layout_marginRight="20dip"
            android:layout_marginTop="20dip"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/searchTextButton"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:background="#685E5C"
                android:contentDescription="Sample"
                android:scaleType="fitCenter"
                android:src="@drawable/abs__ic_search" />

            <EditText
                android:id="@+id/searchText"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_toRightOf="@id/searchTextButton"
                android:background="@drawable/background_black_border_full"
                android:padding="8dp"
                android:textColor="@android:color/white" />
        </RelativeLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:paddingLeft="10dp"
                android:text="SORT BY"
                android:textColor="#FF3300"
                android:textSize="20dp" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <ListView
                android:id="@+id/RadioList"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
               />
        </LinearLayout>
</LinearLayout>
4

1 回答 1

3

你的布局 xml 文件很奇怪,

首先你应该简化它:

在 LinearLayout 中有一个元素是没有意义的 => 这意味着相应的线性布局是无用的。

第二点:如果线性布局中有 2 个子元素,并且第一个子元素的高度为“match_parent”而没有设置任何 layout_weight,则第二个子元素将被推出,因为没有剩余空间。(这可能是你的问题)

第三点:您正在使用相对布局作为线性布局,证明是您尝试在其上使用的 android:orientation 参数。这是没用的。相对布局子级的位置由它们之间的相对定位给出。在您的情况下,您可以使用具有水平方向的 LinearLayout 而不是 RelativeLayout

帮助您的最佳建议:简化您的布局 xml。

更多关于这个话题。

于 2013-02-28T12:34:54.603 回答