0

我将 simple_list_item_single_choice 用于我的列表视图项目。

这是示例代码

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)但没有运气。

编辑:我知道这可以通过自定义布局实现,但这正是我想要避免的。

谢谢!

4

2 回答 2

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

良好的编码:)

于 2015-04-28T02:04:01.090 回答
0

不要使用 android.R.layout.simple_list_item_single_choice 创建您的自定义布局并使用。在自定义布局中,您可以轻松设置高度和宽度。

于 2013-09-21T08:37:36.030 回答