我在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}}之后添加它就可以正常播放。
答案 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的事情。