我有一个包含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>
答案 0 :(得分:3)
您的布局xml文件很奇怪,
首先你要简化它:
在LinearLayout =&gt;中没有任何一个元素是没有意义的。这意味着相应的线性布局是无用的。
第二点:如果线性布局中有2个子节点,并且第一个节点的高度为&#34; match_parent&#34;没有任何layout_weight设置,第二个将被推出,因为没有任何空间。 (这可能是你的问题)
第三点:你使用相对布局作为线性布局,证明是你试图在它上面使用的android:orientation参数。它没用。相对布局子项的位置由它们之间的相对位置给出。在您的情况下,您可以使用方向水平而不是RelativeLayout
的LinearLayout最好的建议是帮助您:简化布局xml。