android中 关于listitem 获得焦点时,改变其背景

其实这个问题一直困扰着我,后来终于解决了。其实很简单看下面的截图,不好意思,截图有点模糊:

1、listView控件
       <ListView
  android:id="@+id/contact_listview"
android:layout_width="wrap_content"
android:layout_height="400dip"
  android:divider="#b9b9b9"
  android:dividerHeight="1px"
  android:cacheColorHint="#00000000"
  android:listSelector="@drawable/list_selector"
  android:headerDividersEnabled="true">
</ListView>

如果是继承ListActivity的话,则可以这样设置。

  1. this .getListView().setSelector(getResources().getDrawable(R.drawable.list_selector));  

2、在drawable文件夹中见一个list_selector.xml文件,如果什么内容都不定,只是用来把系统自带的给覆盖掉,在这里我们添 加上我要添加的小图片,其中list_item_color.png只是一张只有10*10透明的图片,list_item_sel_color也是一 张10*10的浅蓝色的图片。 

list_item_sel_color:     

list_item_color: 

  1. <?xml version= "1.0"  encoding= "UTF-8" ?>  
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >   
  3.     Non focused states   
  4.     <item android:state_focused="false"  android:state_selected= "false"  android:state_pressed= "false"  android:drawable= "@drawable/list_item_color"  />  
  5.     <item android:state_focused="false"  android:state_selected= "true"  android:state_pressed= "false"  android:drawable= "@drawable/list_item_sel_color"  />  
  6.      Focused states  
  7.     <item android:state_focused="true"  android:state_selected= "false"  android:state_pressed= "false"  android:drawable= "@drawable/list_item_sel_color"  />  
  8.     <item android:state_focused="true"  android:state_selected= "true"  android:state_pressed= "false"  android:drawable= "@drawable/list_item_sel_color"  />   
  9.     Pressed <item android:state_pressed="true"  android:drawable= "@drawable/list_item_sel_color"  />  
  10.   
  11. </selector>  

以上就可以完成背景的设置 效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值