关于android常用的按下高亮的展示

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:state_pressed="false"
         >
           <bitmap
               android:src="@drawable/back"
               />
      </item>
      <item 
          android:state_pressed="true">
            <bitmap 
                android:src="@drawable/back_preessed"/>
            
      </item>
      
</selector>

android组件中按下按钮高亮的展示有这些情况:

1.当按钮被按下的状态时候:

一般按钮被按下,我们都是这样设置高亮的:

对selector的选项简单了解下:

android:state_selected是选中(用于RaidoButton的)

android:state_focused是获得焦点

android:state_pressed是点击

android:state_enabled是设置是否响应事件,指所有事件

关于每个<item>里面能放置什么?

常用的有这几种:

<shape ></shape>

<color></color/>
<bitamp><bitmap>

我们根据各种组件来说:

1.Button组件的话:一般的高亮展示为:

  

<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item 
            android:state_pressed="false">
            <shape android:shape="rectangle">
                <corners
                    android:radius="5dp">
                 </corners>
                 <gradient 
                     android:startColor="@color/orange_define"
                     android:endColor="@color/orange_define"
                     android:angle="90"/>
            </shape>
        </item>
        <item 
            android:state_pressed="true">
            <shape android:shape="rectangle">
                 <corners 
                     android:radius="5dp"/>
                 <gradient 
                     android:startColor="#b0ff4208"
                     android:endColor="#b0ff4208"
                     />
            </shape>
        </item>
</selector>

button点击,一般常用的高亮展示就是:shape

填充:设置填充的颜色

  <solid
        android:color="@android:color/white"/><!-- 填充的颜色 -->


圆角:同时设置五个属性,则Radius属性无效

 <corners
        android:radius="9dp"
        android:topLeftRadius="2dp"
        android:topRightRadius="2dp"
        android:bottomLeftRadius="2dp"
        android:bottomRightRadius="2dp"/><!-- 设置圆角半径 -->


描边:stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp"

ndroid:dashGap="3dp"
其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。


渐变:当设置填充颜色后,无渐变效果。angle的值必须是45的倍数(包括0),仅在type="linear"有效,不然会报错。android:useLevel 这个属性不知道有什么用。

一般按钮都是按下有个透明度:(在六位的颜色码前面加入两位)默认是FF,如果半透明:7F,其实就是0-255,数值越大,透明度越小。

更多详情可以看这篇博客:http://blog.csdn.net/by317966834/article/details/8773518


2.TextView被点击如何高亮:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="false"
         android:color="@color/green_define"
         ></item>
     <item 
         android:state_pressed="true"
         android:color="@color/green_define_half"
         ></item>
</selector>
一般我们看到新浪微博那种,是如何高亮的:就是这样高亮的:

但是请注意,一定要对TextView进行按下的监听注册,XML文件才有效果。

3.ImgaeView,ImageBtton的高亮:

<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:state_pressed="false"
         >
           <bitmap
               android:src="@drawable/back"
               />
      </item>
      <item 
          android:state_pressed="true">
            <bitmap 
                android:src="@drawable/back_preessed"/>
      </item>
      
</selector>
ImageView 或者ImageButton也是一样的,设置了监听器才能高亮。










你可能感兴趣的:(Android开发)