1. 程式人生 > >Android中Listview通過介面卡設定Item的高度及其他樣式

Android中Listview通過介面卡設定Item的高度及其他樣式

一、前提:需要通過介面卡設定ListView的相關樣式,並定義一個輔助檔案listviewitemstyle.xml:

以下為java中相關程式碼:

listView = (ListView)findViewById(R.id.lstvSubj);
//result即要載入的List
ListAdapter adapter = new ArrayAdapter<String>(HomeActivity1.this, R.layout.listviewitemstyle,result);	
listView.setAdapter(adapter);

以下為輔助檔案listviewitemstyle.xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
	    android:layout_width="wrap_content"
	    android:layout_height="wrap_content"
	    android:textAppearance="?android:attr/textAppearanceLarge"
	    android:textColor="@color/gray"
	    android:gravity="center_vertical"
	    android:paddingLeft="6dip"
	     />

二、 Listview的Item高度設定的幾種辦法:

1.  直接在上面輔助檔案listviewitemstyle.xml中設定android:layout_height,android:textSize或android:minHeight="?android:attr/listPreferredItemHeight";;

2.  在java程式碼中這樣寫,但該方法嘗試後沒有用,僅僅mark一記:

listView = (ListView)findViewById(R.id.lstvSubj);
ListAdapter adapter = new ArrayAdapter<String>(HomeActivity1.this, R.layout.listviewitemstyle,result);	
/*以下為新增部分*/			
View item = adapter.getView(0, null, listView);
LayoutParams params = item.getLayoutParams();
params.height = 3;
item.setLayoutParams(params);
/*以上為新增部分*/			
listView.setAdapter(adapter);