<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" <TextView android:id="@+id/tv_test" android:text="Test " android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ListView android:id="@+id/list_test" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/tv_test" ></ListView> </RelativeLayout>
一切都在ScrollView中,我不知道为什么但相对布局似乎设置了一个包装内容。它使ListView变小,而不是占据整个地方。
我不知道它是否有用,但这是我的java代码:
public class ShowView extends Activity{
ListView lv;
ArrayAdapter<String> adapter;
String[] myList = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Height", "Nine", "Ten"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.show);
lv = (ListView) findViewById(R.id.list_test);
adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, myList);
adapter.setDropDownViewResource(android.R.layout.simple_list_item_1);
lv.setAdapter(adapter);
}
}
答案 0 :(得分:31)
我认为你的ScrollView并没有填满整个屏幕。在scrollView中使用它
android:fillViewport="true"
答案 1 :(得分:8)
将RelativeLayout
替换为垂直LinearLayout
,并在ListView上设置android:layout_weight="1"
和android:layout_height="wrap_content"
:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tv_test"
android:text="Test "
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ListView
android:id="@+id/list_test"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_below="@id/tv_test" />
</LinearLayout>
查看this article以获取有关布局权重的更多信息。
另外,我会完全删除ScrollView
。 ListView
管理滚动本身,如果将其嵌入到处理滚动的容器中,您将遇到各种问题。如果您想要将@is/tv_test
与ListView
内容一起滚动,请考虑将其作为标题放入ListView
。如果您希望在ListView
滚动时保持静态,请将其保留在ListView
之外。