Android在xml中设置组件风格(圆角,点击效果selector,边框,进度条风格,动画)TextView文字透明度

来源:互联网 发布:再见金华站 知乎 编辑:程序博客网 时间:2024/06/03 15:39

在标题中写到的组件的特效,都是在xml中为组件定义的

步骤:

1.在drawable下创建“Drawable resource file”,命名为:btn_corners(表示功能:圆角button)

2.在btn_corners.xml文件中写入代码如下

3.TextView中文字透明度设置【

半透明<Button android:background="#e0000000" /> 
透明<Button android:background="#00000000" /> 

v.getBackground().setAlpha(100);//0~255透明度值 

下面分别列了几种效果的详情代码:

一、点击改变文字颜色(RadioButton中文字)

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_checked="true" android:color="@color/color_home_tv_selected"/>//选中状态    <item android:color="@color/color_home_tv_default"/>  //非选中状态</selector>
<item name="android:textColor">@drawable/home_radio_textcolor</item> //style中的item引用(在属性中使用style=“@style/名称”) 

二、点击特效+圆角(当用户按下按钮时该表背景色)

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <!--点击特效:当用户按下[按钮]时的特效-->    <item android:state_pressed="true">        <shape>            <!--            corners:圆角,radius-圆角半径            solid:背景填充颜色            -->            <corners android:radius="10dp"/>            <solid android:color="@color/Cyan"/>        </shape>    </item>    <!--点击特效:当用户没按下[按钮]时的特效-->    <item android:state_pressed="false">        <shape>            <corners android:radius="10dp"/>            <solid android:color="@color/DeepSkyBlue"/>        </shape>    </item></selector>
在组件上引用设置属性【background】
android:background="@drawable/press_action"
效果:
三、常用边框(为按钮设置边框)

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <!--item属性里的设置上下左右的宽度:会在相应的边上剪去该宽度的边框 -->    <item        android:bottom="-10dp"        android:right="-10dp">        <shape>            <!--圆角-->            <corners android:radius="10dp"/>            <!--背景填充色-->            <solid android:color="@color/DeepSkyBlue"/>            <!--边框填充色,边框宽度-->            <stroke android:color="#000" android:width="10dp"/>        </shape>    </item></layer-list>

在组件上引用设置属性【background】
android:background="@drawable/shape_btn"
效果:

四、进度条效果(横向进度条)

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <!--这条item:设置progressbar的背景属性-->    <item android:id="@android:id/background">        <shape>            <corners android:radius="15dp"/>            <solid android:color="@color/DeepSkyBlue"/>            <!--给进度条添加1条宽度是2dp的边框-->            <stroke android:color="@color/DeepSkyBlue" android:width="2dp"/>        </shape>    </item>    <!--这条item:设置progressbar的进度条属性-->    <item android:id="@android:id/progress">        <clip>            <shape>                <corners android:radius="15dp"/>                <solid android:color="#00ff00"/>                <!--给进度条添加1条宽度是2dp的边框-->                <stroke android:color="@color/DeepSkyBlue" android:width="2dp"/>            </shape>        </clip>    </item></layer-list>
在ProgressBar中设置属性:

android:max="100"android:progress="25"style="@style/Widget.AppCompat.ProgressBar.Horizontal"android:progressDrawable="@drawable/progress_normal"

效果:

五、点击改变ImageButton的背景图/src

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/refresh"        android:state_pressed="false">    </item>    <item android:state_pressed="true"        android:drawable="@drawable/btn_pressed"/></selector>
效果:按下ImageButton时显示图片与常规(不按下时不一样)

六、点击改变RadioButton文字颜色【RadioButton放于RadioButtonGroup中】

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_checked="true" android:color="#00ff00"></item><span style="white-space:pre"></span>选中后文字颜色变为绿色    <item android:state_checked="false" android:color="#333000"></item><span style="white-space:pre"></span> 没选中颜色为黑色</selector>

1 0
原创粉丝点击