導航:首頁 > 操作系統 > androidlistview按下顏色

androidlistview按下顏色

發布時間:2025-01-07 04:28:16

① 實現android中listView的item點擊變背景色

我的錯沒看清楚褲岩問滲銷題。
按題主代碼自測在4.4.2上面沒有出現該問題。
---------------------原答案分隔線------------------------
你這樣寫的代碼胡喊御不是最優的,一種比較好的寫法是自定義Adapter,在getview方法裡面自定義一個list的item的xml文件,在xml裡面用自定義selector。而listview在xml裡面的屬性中listSelector要設置為空就是android:listSelector="@null"

② android listview如何設置選中顏色

新建drawable/item_bk.xml
Xml代碼
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:drawable="@color/trans" />
<item android:state_focused="true" android:drawable="@color/trans"></item>
<item android:state_pressed="true" android:drawable="@color/trans"></item>
</selector>

然後在listview裡面加入:
Xml代碼
android:listSelector="@drawable/item_bk"

③ 安卓界面布局如何改變所有button的背景顏色

可以使用selector來實現Button的特效

main.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
<SPAN style="COLOR: #ff0000">android:textColor="@color/button_text" </SPAN>/>
</LinearLayout>
www.2cto.com
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按下或者獲得焦點Button會變不同顏色"
android:textColor="@color/button_text" />
</LinearLayout>

XML 文件保存在res/color/button_text.xml

Xml代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>

背景選擇器-selector

概述
在drawable/xxx.xml中配置,通過配置selector,可以使系統運行時根據控制項對象的狀態使用相應的圖片、文字等。
selector中的常用屬性
android:state_selected 控制項選中狀態,可以為true或false
android:state_focused 控制項獲得焦點狀態,可以為true或false
android:state_pressed 控制項點擊狀態,可以為true或false
android:state_enabled 控制項使能狀態,可以為true或false
android:state_checkable 控制項可勾選狀態,可以為true或false
android:state_checked 控制項勾選狀態,可以為true或false
注意:在狀態描述中,第一個匹配當前狀態的item會被使用。因此,如果第一個item沒有任何狀態特性的話,那麼它將每次都被使用,所以默認的值必須總是在最後。
android:window_focused 應用程序窗口焦點狀態,可以為true或false
android:color 定義特定狀態的顏色
#rgb
#argb
#rrggbb
#aarrggbb
為16進制顏色。這個顏色由rgb值指定,可帶alpha,必須以」#「開頭,後面跟隨alpha-red-green-blue信息,格式可以為:
使用selector設置背景
把下面的XML保存成.xml文件(比如list_item_bg.xml),運行時系統會根據ListView中列表項的狀態來使用相應的背景圖片。
drawable/list_item_bg.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默認時的背景圖片 -->
<item android:drawable="@drawable/pic1" />

<!-- 沒有焦點時的背景圖片 -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />

<!-- 非觸摸模式下獲得焦點並單擊時的背景圖片 -->
<item android:state_focused="true" android:state_pressed="true"
android:drawable= "@drawable/pic2" />

<!-- 觸摸模式下單擊時的背景圖片 -->
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/pic3" />

<!--選中時的圖片背景 -->
<item android:state_selected="true"
android:drawable="@drawable/pic4" />

<!--獲得焦點時的圖片背景 -->
<item android:state_focused="true"
android:drawable="@drawable/pic5" />
</selector>

使用方法
第一種是在listview中配置android:listSelector=」@drawable/list_item_bg」
第二種是在listview的item中添加屬性android:background=」@drawable/list_item_bg」
第三種是java代碼中使用:
Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
listview.setSelector(drawable);

註:列表有時候為黑的情況,需要加上下面的代碼使其透明:
android:cacheColorHint="@android:color/transparent"

使用selector設置字體顏色
drawable/button_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#FF0000" />
<item android:state_focused="true" android:color="#00FF00" />
<item android:state_pressed="true" android:color="#0000FF" />
<item android:color="#000000" />
</selector>

使用方法
android:textColor="@drawable/button_color"

更復雜的效果
還可以實現更復雜的效果,例如漸變等等。 drawable/button_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<!-- 定義當button 處於pressed 狀態時的形態。-->
<shape>
<gradient android:startColor="#8600ff" />
<stroke android:width="2dp"
android:color="#000000" />
<corners android:radius="5dp" />
<padding android:left="10dp"
android:top="10dp"
android:bottom="10dp"
android:right="10dp"/>
</shape>
</item>
<item android:state_focused="true">
<!-- 定義當button獲得 focus時的形態 -->
<shape>
<gradient android:startColor="#eac100"/>
<stroke android:width="2dp"
android:color="#333333"
color="#ffffff"/>
<corners android:radius="8dp" />
<padding android:left="10dp"
android:top="10dp"
android:bottom="10dp"
android:right="10dp"/>
</shape>
</item>
</selector>

使用方法
android:background="@drawable/button_color"
android:focusable="true"

④ android listView 改變選中行的 背景顏色,字體顏色,和 圖片

這種情況還是用selector吧,把你setTextColor的方法刪掉


修改你的tuijian_building_listview_row的xml文件,最外層background屬性這么設置

android:background="@color/list_item_bg_selector"

tvTJCustomName和tvTJCustomPhone的textColor屬性這么設置

android:textColor="@color/text_color_selector"

在res目錄下,新建color子文件夾,在裡面創建list_item_bg_selector
.xml文件和text_color_selector.xml文件,除了顏色值,其他內容一樣(顏色值我隨便寫的,你根據需要的效果自己改)

<?xmlversion="1.0"encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">

<!--被選中時的顏色-->
<itemandroid:state_selected="true"android:color="#333333"/>
<!--獲得焦點時的顏色-->
<itemandroid:state_focused="true"android:color="#333333"/>
<!--點擊時的顏色-->
<itemandroid:state_pressed="true"android:color="#333333"/>
<!--默認顏色-->
<itemandroid:color="#66666"/>
</selector>


如果要修改背景圖片也大同小異,關於selector的詳細說明請自行網路

⑤ android listView 怎麼指定項的背景設置

android listview指定項設定背景步驟如下:

  1. 監聽列表項監聽事件,取得被點擊的view,設置為:view.setSelector("true");

2.在適配器塌鎮中,用if-else語句,判斷選擇的列表項設置背景,沒有選中的則默認背景,代碼如下:


try{
if(selectItem==position){
messagetitle.setTextColor(android.graphics.Color.BLACK);
messagetime.setTextColor(android.graphics.Color.BLACK);
viewHolder.messagetitle.setText(maps.get(position)
.get("messagetitle").toString());
viewHolder.messagetime.setText(maps.get(position)
.get("messagetime").toString());
convertView.findViewById(R.id.expandable1)
.setBackgroundColor(android.graphics.Color.WHITE);
convertView.findViewById(R.id.expandable1)
.setBackgroundResource(R.drawable.menu_shapeclick);
}else{
messagetitle.setTextColor(android.graphics.Color.WHITE);
messagetime.setTextColor(android.graphics.Color.WHITE);
viewHolder.messagetitle.setText(maps.get(position)
.get("messagetitle").toString());
viewHolder.messagetime.setText(maps.get(position)
孫鬧.get("messagetime").toString());
convertView.findViewById(R.id.expandable1)
.setBackgroundResource(
團凱粗R.drawable.menu_shapeunonclick);
}
}catch(Exceptionex){
ex.printStackTrace();
}
returnconvertView;
閱讀全文

與androidlistview按下顏色相關的資料

熱點內容
晚年程序員的生活 瀏覽:407
安卓什麼型號可以用兩年不卡 瀏覽:185
安卓怎麼一邊玩游戲一邊打電話 瀏覽:278
體育綜合分的演算法 瀏覽:599
用友客戶端連伺服器P地址 瀏覽:523
程序員小工具有哪些 瀏覽:850
android難用 瀏覽:253
2021金磚論壇數據演算法盛宴 瀏覽:744
職校學計算機出來可以當程序員嗎 瀏覽:478
androidxml命名 瀏覽:85
批命令if 瀏覽:101
手機桌面出現安卓圖標怎麼辦 瀏覽:965
php網站生成app 瀏覽:731
食色app怎麼沒法下載了 瀏覽:324
蘋果12跟安卓如何隔空投送 瀏覽:593
如何在濟南人社app上看到賬號 瀏覽:180
伺服器ps燈亮是什麼原因 瀏覽:593
安卓上的導航如何操作 瀏覽:437
程序員如何成長 瀏覽:497
php正則匹配標點符號 瀏覽:832