Android的shape和颜色选择器结合使用

来源:互联网 发布:手机上怎样查淘宝积分 编辑:程序博客网 时间:2024/06/05 16:08

效果如下:

点击前


点击后



shape文件和颜色选择器的定义都必须定义在drawable文件夹下




bind_bg_normal.xml 正常时候的颜色

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle"><!-- android:shape="rectangle"表示圆角长方形 -->    <corners android:radius="2dp"/><!-- 圆角的弧度 -->    <gradient   android:startColor="@color/black"        android:endColor="@color/blue"/><!-- 渐变色的设置  这里可以设置起始  中间  结束位置的颜色 -->    <!-- 设置边框颜色  宽度  dashWidth虚线的长度    虚线之间的间隔长度dashGap    -->    <stroke android:width="1dp" android:dashWidth="10dp" android:dashGap="1dp" android:color="@color/white"/></shape>


bind_bg_pressed.xml 按下时候的颜色

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <corners android:radius="2dp"/>    <gradient android:startColor="@color/white"        android:endColor="@color/black"/>    <stroke android:width="1dp" android:dashWidth="10dp" android:dashGap="15dp" android:color="@color/blue"/></shape>

bind_bg_selected.xml颜色选择器

<?xml version="1.0" encoding="utf-8"?>  <selector xmlns:android="http://schemas.android.com/apk/res/android">      <!-- 按下时显示颜色 -->    <item android:drawable="@drawable/bind_bg_pressed" android:state_pressed="true"/>    <!-- 获取焦点显示颜色 -->    <item android:drawable="@drawable/bind_bg_pressed" android:state_focused="true"/>    <!-- 选择状态时显示颜色 -->    <item android:drawable="@drawable/bind_bg_normal" android:state_selected="true"/>    <!-- 正常状态下显示颜色 -->    <item android:drawable="@drawable/bind_bg_normal"/></selector>  


color.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <color name="black">#000000</color>    <color name="blue">#FF3F00</color>    <color name="white">#FFFFFF</color></resources>

main.xml  别忘记用android:background导入颜色选择器,让其作用于这个布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:orientation="vertical" >    <RelativeLayout        xmlns:android="http://schemas.android.com/apk/res/android"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:background="@drawable/bind_bg_selected"        android:clickable="true" ><!-- RelativeLayout必须加android:clickable="true" 点击才有反映 -->        <TextView            android:layout_width="fill_parent"            android:layout_height="30dp"            android:gravity="center"            android:text="SHAPE" />    </RelativeLayout></LinearLayout>




0 0
原创粉丝点击