首页 > 移动平台 > 详细

Android selector设置详解

时间:2015-12-02 02:10:51      阅读:459      评论:0      收藏:0      [点我收藏+]

Android 中的selector常用来设置背景,可以很方便的根据checked,selected等不同状态设置不同背景,不需要自己在Java代码设置了,简单,优雅!

相信selector设置背景色大家都很熟悉了,这里介绍两个最近总结的一些技巧。

  1. 背景色和文字颜色的设置

? ? ? ?类似微信的底部导航,点击不同的底部按钮,会显示选中的图片,同时文字也会变色,背景图片用selector很容易实现了,那么文字呢 ?需要自己用代码去设置吗?NO!文字也可以用selector来实现!

在res/color文件夹下,设置tab_color_seletor文件,具体内容为:

?

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

  <!-- 单击选中时字体颜色-->
 <item android:state_pressed="true" android:color="@color/white" />
  <!-- 滚动选中时字体颜色-->
 <item android:state_checked="true" android:color="@color/white" />
  <!-- 默认字体颜色-->
 <item android:color="@color/black" />
</selector>

?这样设置导航的TextView的textColor为?tab_color_seletor 即可实现上述想要实现的效果

?

? 2. 只设置背景的底部边框


bubuko.com,布布扣
?想要达到这种效果,点击不同tab标签时,对应的底部出现蓝色横线,怎么实现?

这里就要借助layer-list了。
这里在选中的时候,layer-list先是设置整个背景为蓝色,然后又覆盖了一层白色,但是底部留了2dp的距离,这样就把蓝色显示出来了
具体代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android">

   <item android:state_checked="true">
      <layer-list>        
         <item>
            <shape>
               <solid android:color="@color/blue" />
            </shape>
         </item>
         <!-- This is the line  note:这里的bottom相当于margin_bottom-->
         <item android:bottom="2dp">
            <shape>
               <solid android:color="#FFFFFF" />
            </shape>
         </item>

      </layer-list>
   </item>
    <item android:drawable="@color/white"/>

</selector>
?

bubuko.com,布布扣

bubuko.com,布布扣

Android selector设置详解

原文:http://fly-ccy.iteye.com/blog/2260773

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!