我正在使用simple_list_item_single_choice作为我的listview项目。
以下是示例代码
view = mInflater.inflate(android.R.layout.simple_list_item_single_choice, null);
final CheckedTextView title = (CheckedTextView) view.findViewById(android.R.id.text1);
这很好用,但我的listview项目不能很好地显示...我的意思是项目的高度正好是内容高度... 我希望它被填充,就像我使用simple_list_item1但我需要它与选择无线电。
如何设置这个漂亮的最小高度?它应该是默认的48 dip
试图设置title.setMinimumHeight(48)
,但没有运气。
编辑:我知道这可以通过自定义布局实现,但这正是我想要避免的。
谢谢!
答案 0 :(得分:0)
不要使用android.R.layout.simple_list_item_single_choice创建自定义布局并使用。在自定义布局中,您可以轻松设置高度和宽度。
答案 1 :(得分:0)
我的回答很晚,也许你解决了这个问题......我解决了以下问题:
int getListViewHeight(ListView list) {
ListAdapter adapter = list.getAdapter();
list.measure(View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
int listviewHeight = list.getMeasuredHeight() * adapter.getCount() + (adapter.getCount() * list.getDividerHeight());
return listviewHeight;
}
使用:
ListView listView = (ListView) findViewById(R.id.yourlistviewId);
listView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getListViewHeight(listView)));
Listview应该在LinearLayout中。如果在不同的布局中,必须修改为LinearLayout.LayoutParams
良好的编码:)