android_选择器(select)和Shape(形状)

选择器(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"
        />

“`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值