总结-Android基础篇1-shape的使用

在Android开发中,为了界面的友好,通常需要将一些TextView和Button等控件在空闲和点击等不同状态下显示不同的用户界面,大多数时候都会使用到shape进行控件的样式处理,并且配合selector控件处理点击状态的样式显示.

一.首先是为TextView等控件添加背景


如图,需要在xml文件的TextView控件设置背景.

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" ><!-- 控件形状设置 -->

<!-- 填充的颜色-绿色 -->
    <solid android:color="#0f0" />
<!-- 圆角半径 -->
    <corners android:radius="6dp" />
<!-- 内容的间隔 -->
    <padding
        android:bottom="32dp"
        android:left="4dp"
        android:right="16dp"
        android:top="8dp" />
<!-- 边框设置 -->
    <stroke
        android:width="1dp"
        android:color="#000" />
    <!-- 自定义控件大小 -->
    <!-- <size 
        android:width=""
        android:height=""/> -->
    <!-- 背景渐变色 -->
    <!-- <gradient 
        android:startColor=""
        android:centerColor=""
        android:endColor=""/> -->

</shape>

大家可以根据自己的需求进行修改配置.

二.设置点击效果,需要和selector一起使用

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- 按钮按下时的效果 -->
    <item android:state_pressed="true"><shape android:shape="rectangle">
            <corners android:radius="4dp" />
            <solid android:color="#f00" />
            <stroke android:width="2dp" android:color="#00f" />
        </shape>

    </item>
    <!-- 正常状态 -->
    <item><shape android:shape="rectangle">
            <solid android:color="#0f0" />
            <corners android:radius="6dp" />
            <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
            <stroke android:width="1dp" android:color="#000" />
        </shape>

    </item>
</selector>

正常状态

点击状态效果

上面的两个例子只是一些简单的背景效果,大家可以通过试试其他的属性进行更多的配置,使自己的控件更加炫丽.

三.圆的制作


<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"
    android:useLevel="false">
    
    <solid android:color="#ff0"/>
    <stroke android:width="2dp"
        android:color="#f00"/>
    
    <size android:width="50dp"
        android:height="50dp"/>
    
</shape>

另外TextView的文字也可以设置随点击事件进行颜色的改变.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值