1. 程式人生 > >android如何改變listview中item選中時文字的顏色

android如何改變listview中item選中時文字的顏色

當listview的某個item選中時,預設有個選中的高亮顯示,如果你要自定義選中時的高亮顯示效果,可以在listview中設定屬性

1 android:listSelector="@drawable/item_selector"

   其中item_selector是在drawable目錄下定義的一個xml檔案,這種用於突出不同狀態下顯示效果的xml檔案我們稱之為selector:

1 2 3 4 5 6 7 <?xml version=
"1.0" encoding="utf-8"?> <selector <item android:state_pressed="false" android:drawable="@*android:color/transparent" /> <item android:state_pressed="true" android:drawable="@drawable/grid_item_select_bg" /> <item android:state_selected="true" android:drawable=
"@drawable/grid_item_select_bg_night" /> </selector>

   上面這個selector定義了三種狀態下的顯示效果。

   但是如果我們想在listview的某個item選中時改變該item的某個textview的文字顏色,上面的辦法就行不通了。那該如何做呢?其實如果我們真正瞭解android:listSelector的含義的話,很容易實現上面的需求。

   我發現如果不在listview中設定listSelector,也就是將android:listSelector="@drawable/item_selector"去掉,而把item 的background屬性設為item_selector,會得到同樣的選中高亮效果。由此可見listview可以將自己的狀態(state_press、state_select、state_focus等)向內傳遞,當然item本身也可以將這些狀態繼續傳遞給子view。

   受此啟發,我們可以將需要高亮顯示文字顏色的TextView的textColor屬性也設定成selector的形式(沒想到吧textColor也可以用drawable定義)。

   假設item的xml原本定義為

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?xml version="1.0" encoding="utf-8"?> android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"                > <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:layout_margin="5dp"         /> </LinearLayout>


   那麼可以按照上面的辦法將item的xml改寫為:

相關推薦

android如何改變listviewitem選中文字顏色

當listview的某個item選中時,預設有個選中的高亮顯示,如果你要自定義選中時的高亮顯示效果,可以在listview中設定屬性 1 android:listSelector="@drawable/item_sele

Android RadioButton設定選中文字和背景顏色同時改變

在使用 RadioButton 時,有時我們會想要達到選中時文字顏色和背景顏色同時改變的效果,這裡還需要多進行幾步操作。 首先,在佈局檔案中新建一組 RadioButton : <RadioGroup andr

Android開發:在ListView使用RadioGroup出現混亂選中現象

重寫Adapter的getView方法(); 設定每個item中RadioGroup的監聽器(viewHolder.answerRg.setOnCheckedChangeListener()),每RadioGroup中有四個radiobutton表示A,B,C,D。

AndroidListView包含Button滑動丟失選中狀態的解決方法(二)

1.介面卡中的主要邏輯: import android.content.Context; import android.support.v4.content.ContextCompat; import android.text.TextUtils; import a

android捕獲ListView每個item點擊事件

ont app eat sta cell undle android number stat package com.wps.android; import java.util.ArrayList; import android.app.Activity;

動態改變Listviewitem背景顏色item字體的顏色

學習 動態 ide save pos oid eol graphics -s 首先非常感謝原文章作者。 今天項目用到Listview點擊item變色。網上找了好久,都沒有找到簡單的方法,好像只能重寫getview(); 網上找到了一個比較簡單的例子,但是不懂為什麽,先記

android 通過不同的條件,改變listview字型顏色及背景色

結果圖: 通過介面卡進行操作: public class SystemAdapter extends BaseAdapter { private ArrayList<SjClass> sData; private Context sContext;

Android--ListViewitem實現跑馬燈效果

1.要實現跑馬燈的TextView寫法 <TextView android:layout_width="wrap_content"

android隱藏listview的某幾項item

1.為item加了一層父佈局, 設定view.setVisibility(View.GONE); 但還是會留一個大概1dp高度佔著位置,當連續多個項隱藏時會出現一大片空白 2.設定高度為0 不起作用 params = new RelativeLayout.LayoutPar

Android 取得 ListView每一個Item專案的值

首先我們需要建立 ListView ,這裡假定我們已經建立好了並且使用SimpleAdapter設定好了adapter資料,看一下我們的adapter ArrayList<HashMap<String, String>> list =

動態改變Listviewitem背景顏色item字型的顏色

這是我的第一篇博文,如有什麼不妥的地方請大家多多包涵,好了,進入今天的主題,前段時間有個朋友問了我一個效果,該效果的具體實現是點選Listview,然後Listview中的item項的背景顏色和item項中字型的顏色的變化,即點選item改變他們的顏色並記錄下來.好了,表達

Android仿支付寶扣款順序,動態改變ListViewItem次序

前言:今天遇到個需求,需要讓使用者動態選擇語音傳輸方式的次序,突然想起支付寶選擇扣款順序的功能,恰好能滿足需要,就花了點時間寫了個demo,在此權當學習記錄 先上效果圖 支付寶的效果 demo的效果 思路: 用ListV

關於ListViewItem點選事件,動態改變Item控制元件屬性

ListView中的Item事件點選不了,怎麼辦? 由於要設定ListView的Item點選事件來改變控制元件屬性,設定的時候發現Item無法點選,原因之一是給Item中的控制元件添加了屬性android:clickable=”true”使Item不響應點選事

LIsTVIEWITEM背景問題

listview list andro 問題 istview com ongl and 5% %E3%80%90%E6%B1%82%E5%8A%A9%E3%80%91aNDROID%E8%93%9D%E7%89%99%E5%BC%80%E5%8F%91 http://mu

ListViewItem與Checkable子類控件搶焦點問題

.com 控件 schema android開發 red 定制 xmlns @+ div Android開發中,經常需要為ListView定制Adapter,綁定各種子類控件。如果Item包含Button等Checkable的控件,那麽就會發生點擊Item無法響應的問題。

關於ListViewitem與子控件搶奪焦點的解決方法

ble androi 子類 直接 沖突 getview block BE 之間 1.在開發中,listview可以說是我們使用最頻繁的控件之一了,但是關於listview的各種問題也是很多。當我們使用自定義布局的Listview的時候,如果在item的布局文件裏面存在But

Android關於listview顯示網絡圖片的問題

err layout directory istview ret exception amp contex ceo 在listview中第二次下載圖片時就會出現 SkAndroidCodec::NewFromStream returned null 可能是圖片大了點,

AndroidListViewitem獲取不到焦點

前兩天我在寫一個ListView,其中自定義的item中的控制元件有ImageView、TextView、Button,反正是比較複雜,寫完一整套流程後,真機一執行,詭異的事情出現了,點選item居然無響應。這怎麼回事呢?找了又找,程式碼看了一遍又一遍,沒問題

C#listview item背景顏色的設定

1.將ListView的每一項的UseItemStyleForSubItems屬性設定為false 2.item.SubItems[4].BackColor = Color.Green;設定某一行某一列的顏色為綠色 程式碼實現 istViewItem item = listView2.Items

C#listview item背景顏色的設置

istview col listview strong 設置 false mst 屬性 屬性設置 1.將ListView的每一項的UseItemStyleForSubItems屬性設置為false 2.item.SubItems[4].BackColor = Color.G