2012年10月4日 星期四

(Android Note) listview 背景用法

1. Code

1.1 點選 listview 時,去除背景黑色底色

android:cacheColorHint="@android:color/transparent"

1.2 自動產生背景色


1.2.1 先在 drawable 資料夾內產生 dlistview.xml 檔案

內容:



<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 沒有焦點時的背景圖片 -->
<item android:state_window_focused="false" android:drawable="@drawable/tools_listviewbackground" />
<!-- 非觸摸試下獲得焦點並點選時的背景圖片 -->
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/tools_listviewbackground" />
<!-- 觸摸試下獲得焦點並點選時的背景圖片 -->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/answer3_1" />
<!-- 選中時的背景圖片 --> 
<item android:state_selected="true" android:drawable="@drawable/answer4_1" />
<!-- 獲得焦點時的背景圖片 -->
<item android:state_focused="false" android:drawable="@drawable/answer4_2" />
</selector>

//android:state_selected是被點選
//android:state_focused是獲得焦點
//android:state_pressed是點擊
//android:state_enabled是否可以執行


1.2.2 在java中加入以下
listview.setSelector(R.drawable.dlistview); //把xml加入到背景選擇器

之後listview所產生的行為,會依照所定義xml格式所表現。


沒有留言:

張貼留言