Android:ListView涵盖了一切

时间:2014-02-05 11:40:08

标签: android listview layout android-linearlayout

我在ListView内使用LinearLayout,在另一LinearLayout下方使用ListView,因为listView = new ListView(this); listView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); listLayout = new LinearLayout(this); listLayout.setOrientation(LinearLayout.VERTICAL); listLayout.addView(listView); listLayout.addView(new NavigationBar(this, "android.intent.action.MAIN", "android.intent.action.MY_ACTIVITY")); setContentView(listLayout); 似乎占用了所有空间。

代码:

NavigationBar

ListView也是包含一些按钮的LinearLayout。 如果在它上面添加,只要在{{1}}之后添加它就可以正常播放。

2 个答案:

答案 0 :(得分:0)

您应该为线性布局设置权重属性,或者为列表视图使用固定高度。请发布xml布局以帮助您更好地理解。

答案 1 :(得分:0)

更改

listView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

listView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, 0, 1));

(假设您已经导入了LinearLayout的LayoutParams,否则它将是new LinearLayout.LayoutParams

这意味着列表视图本身不会占用任何垂直空间,因此导航栏可以根据其想要的大小进行布局,但随后,任何可用空间都将分配给列表视图因为它有重量。

你还应该考虑在底部没有导航栏,这是一个非常适合iPhone的事情。