设置Listview 的选中背景效果 背景变蓝字变白

 效果如图

整体listView的布局

<?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"
    android:background="@drawable/bg_list_item_normal"
    >
 <TextView
     android:layout_width="fill_parent"
     android:layout_height="48dp"
     android:text="@string/menu_text_person_center"
     android:textSize="22sp"
     android:layout_gravity="center"
     android:gravity="center"
     android:textStyle="bold"
     android:background="@drawable/bg_title_bar"
     android:textColor="@color/white"
    />
<ListView
 android:id="@+id/lv_function_list"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:scrollbarAlwaysDrawVerticalTrack="true"
 android:cacheColorHint="@null"                                                                    //去除listView 按下拖动时出现的黑色背景android:scrollbarTrackVertical="@drawable/scrollbar_vertical"
 android:divider="@null"                                                                                     //去除listView本身的分割线
 android:listSelector="@android:color/transparent"                                      //去除listView 点击的系统背景色(变为透明)
 /> 
  </LinearLayout>

listView   中item的布局

<?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="wrap_content"
    android:orientation="vertical"
 android:gravity="center_vertical"
 android:id="@+id/ll_user_items"
 android:background="@drawable/search_result_list_click_state"           //为item添加点击效果 如图但不包括字
    >
  <LinearLayout
   android:layout_width="fill_parent"
      android:layout_height="wrap_content"
   android:orientation="horizontal">
   <!-- 选择项对应的标题 -->
   <TextView
       android:id="@+id/text1"
       android:layout_width="fill_parent"
       android:layout_height="40dp"
       android:layout_weight="1.0"
       android:gravity="center_vertical"
        style="@style/UserListViewItemStyle"                                                   //listview中字体点击的颜色样式
       android:paddingRight="5sp"
       android:paddingLeft="12dip"
       android:textSize="16sp"
       />
      <!-- 选择项对应的详细说明 -->
   <TextView
       android:id="@+id/text2"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_weight="1.0"
        style="@style/ListItemDefaultTextViewStyle_Gray"
       android:paddingLeft="2sp"
       android:singleLine="true"
       android:paddingRight="5sp"
       android:layout_marginLeft="-25dp"
       android:textSize="12sp"
       />
  </LinearLayout>
  <ImageView android:id="@+id/childrendividerid" 
        android:layout_width="fill_parent" 
        android:layout_height="1dip" 
        android:background="@drawable/line"
        android:layout_marginTop="2dp"
            />
</LinearLayout>

listView   中item的布局 background  中引用文件 

search_result_list_click_state.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/bg_list_item_foucs" />
    <item android:state_focused="true" android:drawable="@drawable/bg_list_item_foucs" />
    <item android:state_selected="true" android:drawable="@drawable/bg_list_item_foucs" />
    <item android:drawable="@drawable/bg_list_item_normal" />
</selector>

listview中字体点击的颜色样式

<?xml version="1.0" encoding="utf-8"?>
<style name="UserListViewItemStyle">
        <item name="android:textColor">@drawable/user_list_item_textview_color</item>         //点击字体后字体的变化效果
        <item name="android:textSize">20sp</item>
        <item name="android:textStyle">bold</item>
    </style>

 <style name="ListItemDefaultTextViewStyle_Gray">
        <item name="android:textColor">@drawable/list_item_textview_color_default_gray</item>
        <item name="android:textSize">15sp</item>
        <item name="android:textStyle">bold</item>
    </style>

</resources>

 

点击字体后字体的变化效果  user_list_item_textview_color.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="@color/white" android:state_pressed="true"/>
    <item android:color="#3d3d3d" android:state_enabled="true"/>

</selector>

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:color="#616161" android:state_enabled="true" android:state_window_focused="false"/>
    <item android:color="#616161" android:state_enabled="false" android:state_window_focused="false"/>
    <item android:color="@color/white" android:state_pressed="true"/>
    <item android:color="#616161" android:state_enabled="true"/>

</selector>

 

第一次 发表文章 代码有点问题 主要是记下思路 写的不好请担待。


 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值