Android中Listview通過介面卡設定Item的高度及其他樣式
阿新 • • 發佈:2019-01-26
一、前提:需要通過介面卡設定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);