Erf*_*eri 10 android android-listview android-activity
我有一个ListActivity我想要更改项目高度参考设备高度
public class MainActivity extends ListActivity
{
.
.
.
setListAdapter(new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1,mainMenuItems));
}
Run Code Online (Sandbox Code Playgroud)
它是我在Galaxy nexus S上的ListActivity:

在galaxy nexus 7上:

我该如何定义listview项目的高度???
Yar*_*lyk 24
该ListView项目高度是项目布局内容,例如高度android.R.layout.simple_list_item_1的高度.如果您想要不同的高度,请创建一个xml文件并放置一个android:layout_height或android:minHeight属性.
这是一个修改simple_list_item_1,它引用了你的价值
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
android:paddingRight="?android:attr/listPreferredItemPaddingRight"
android:minHeight="@dimen/your_defined_minumum_height"/>
Run Code Online (Sandbox Code Playgroud)
在你的dimen.xml中
<dimen name="your_defined_minumum_height">48dp</dimen>
Run Code Online (Sandbox Code Playgroud)
ListView lvLogs = new ListView(this);
lvLogs.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, logs) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView textView = ((TextView) view.findViewById(android.R.id.text1));
textView.setMinHeight(0); // Min Height
textView.setMinimumHeight(0); // Min Height
textView.setHeight(44); // Height
return view;
}
});
Run Code Online (Sandbox Code Playgroud)
注意:需要MinHeight和MinimumHeight !!!
将最小高度设置为0~20(或更高):setMinHeight(?)+setMinimumHeight(?)
然后ListView中的TextView将具有正常高度(小于ListView的默认值)
如果要以像素为单位指定高度,请使用 setHeight(?)
| 归档时间: |
|
| 查看次数: |
35772 次 |
| 最近记录: |