选择器(select)
当我们对一个控件,要对不同的事件,触发不同的背景.例如:我们需要对一个按钮,进行正常的状态下是一个图片,点击下去之后,又变化成另外一种图片.
步骤:
1: 要在res文件夹下面,建立一个drawable文件,然后建立一个xml文件.在里面定义你需要记住的状态,并且引用相应的图片
2.在控件里面使用,一般使用android:background=”@drawable/select_dg_ensure”
这样的方式
例子:
要在res文件夹下面,建立一个drawable文件,然后建立一个xml文件.
我们这里的文件名是(select_dg_ensure.xml);
文件内容如下
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 当当前的状态是点击的,那么就显示dg_btn_confirm_select这张图片 -->
<item android:state_pressed="true" android:drawable="@drawable/dg_btn_confirm_select"></item>
<!--当前的状态没有任何时间,就显示dg_btn_confirm_select这张图片 -->
<item android:drawable="@drawable/dg_btn_confirm_normal"></item>
</selector>
使用选择器
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/select_dg_ensure"
android:text="下一步"
android:onClick="nextPage" android:textColor="@android:color/white" />
提醒. 顺序要保证,有状态的item先在前面,默认的item在后面。
Shape(形状)
其实shape就是android,提供让我们去画图片的.
1: 要在res文件夹下面,建立一个drawable文件,然后建立一个xml文件.
现在取名为: shape_setting_press
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<corners android:radius="6dp" />
<solid android:color="#52A6DE" />
<padding
android:bottom="8dp"
android:left="8dp"
android:right="8dp"
android:top="8dp" />
</shape>```
在控件里面,使用如下方式引用
android:drawable="@drawable/shape_setting_pressed
提醒:其实shape和select可以互相一起使用.
部分属性的如下:
android:shape=""
rectangle : 矩形
oval :椭圆
line : 线
ring:环形
<!-- 控制角度 ,四个角的角度 -->
<corners
android:radius="10dp"
/>
<!-- 颜色渐变 -->
<gradient
/>
<!-- 用于控制大小 -->
<size
android:width="300dp"
android:height="100dp"
/>
<!-- 控制填充颜色 -->
<solid
android:color="#3300ff00"
/>
<!-- 控制内容与边界的间距 -->
<padding
android:left="10dp"
android:right="10dp"
/>
<!-- 用于描边
虚线的宽度与虚线的距离
android:dashWidth="5dp"
android:dashGap="5dp"
-->
<stroke
android:width="1dp"
android:color="#ff0000"
android:dashWidth="5dp"
android:dashGap="5dp"
/>
“`