view的背景

来源:互联网 发布:赤平投影软件 编辑:程序博客网 时间:2024/05/08 15:13

01)三种状态的图片,即不可用,正常,按下状态:

<?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/btn_delete_pre" />    <item android:state_enabled="false"        android:drawable="@drawable/btn_delete_dis" />    <item android:state_enabled="true"        android:drawable="@drawable/btn_delete_nor" /></selector>

02)两种状态,即按下和正常

<?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/btn_digit_press" />    <item        android:drawable="@drawable/btn_digit_nor" /></selector>

若使用颜色值,则必须在color中定义,在drawable中以drawable引用:

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

03)使用xml文件写一个圆形图片

<?xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval">    <!-- 填充的颜色 -->    <solid android:color="#41add7" />    <!-- 设置按钮的四个角为弧形 -->    <!-- android:radius 弧形的半径 -->    <corners android:radius="365dip" /></shape> 

04)用xml文件写一个长方形带有圆角的图片

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <!-- 这里设置背景颜色 -->    <solid android:color="#ffffff" />    <!-- 边框的颜色 ,如与背景相同,可省略-->    <!--<stroke        android:width="1dp"        android:color="#ffffff" />-->    <!-- 设置按钮的四个角为弧形 -->    <!-- android:radius 弧形的半径 -->    <corners android:radius="4dip" />    <!-- padding:view里面的文字与Button边界的间隔 -->    <padding        android:bottom="1dp"        android:left="1dp"        android:right="1dp"        android:top="1dp" /></shape>

5)一个字体颜色可变

  首先定义一个drawable/red.xml文件,为其添加android:state_pressed属性,之后在布局中使用
android:textColor="@drawable/red"
<?xml version="1.0" encoding="utf-8"?>  <selector xmlns:android="http://schemas.android.com/apk/res/android" >      <item android:state_pressed="true" android:color="#80FFFFFF"></item>    <item android:state_pressed="false" android:color="#FFFFFFFF"></item></selector>  

6)有左、下两处边框的xml文件
这里写图片描述

<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <!-- 连框颜色值 -->    <item>        <shape>            <solid android:color="#ff0000" />        </shape>    </item>    <!-- 主体背景颜色值 -->    <item        android:bottom="3dp"        android:left="3dp">        <shape>            <solid android:color="#fefefe" />            <padding                android:bottom="10dp"                android:left="10dp"                android:right="10dp"                android:top="10dp" />        </shape>    </item></layer-list>  

7.图片的选中状态,使用android:state_selected=”true”

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

8.drawable画一根线
这里写图片描述

如上图,位一根渐变的1px的分割线,相应的drawable如下:

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle" >    <gradient        android:centerColor="#ff00ff00"        android:endColor="#ff0000ff"        android:startColor="#ffff0000"        android:type="linear" />    <size android:height="1px"/></shape>

9.字体颜色的选择状态

?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android">  <!-- 没有焦点时字体颜色 --> <item    android:state_selected="false"    android:color="#FFFFFF"/><!--选中时的字体颜色  -->  <item    android:state_selected="true"    android:color="#3197FF"/><!-- 非触摸模式下获得焦点并单击时的字体颜色 -->  <item    android:state_focused="true"    android:state_pressed="true"    android:color="#3197FF"/></selector>

10.shape写圆形背景

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="oval"    android:useLevel="false">    <solid android:color="@color/common_red_color" />    <padding        android:bottom="0dp"        android:left="0dp"        android:right="0dp"        android:top="0dp" />    <solid android:color="@color/common_red_color" />    <!--<stroke        android:width="1dp"        android:color="@android:color/white" />-->    <size        android:width="16dp"        android:height="16dp" /></shape>

使用时,用wrapcontent来写宽高,如下的实例:

<TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_gravity="left"    android:layout_marginLeft="@dimen/common_padding_width"    android:layout_marginTop="10dp"    android:background="@drawable/little_circle"    android:gravity="center"    android:textColor="@android:color/white"    android:textSize="12sp" />
0 0