自定义安卓Button样式

来源:互联网 发布:淘宝分类全屏 编辑:程序博客网 时间:2024/04/28 00:27
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="false">        <shape android:shape="rectangle">            <corners android:radius="8dip"/>            <stroke android:width="1dip" android:color="#ff000000" />            <solid android:color="#00ffffff"/>        </shape>      </item>    <item android:state_pressed="true">        <shape android:shape="rectangle">            <corners android:radius="8dp"/>            <stroke android:width="1dip" android:color="#ff000000" />            <solid android:color="#22000000"/>        </shape>    </item></selector>

Talk is cheap,Show you the code.

估计很多朋友对上面的一些属性不是很清楚,比如selector,item,shape,corners,stroke,solid等不太了解,下面的代码就是他们的详细介绍。(上面的代码是我找到的使用最全的,你如果有自定义Button需求的话应该够用了)。上面的可以拆成两部分。第一部分是selector和下面的item属性。第二部分是shape和下面的coeners,stroke,solid等属性。

selector

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" >    <!-- 按下状态:(01) true表示按下,例如,Button被按下; (02) false表示非按下。 -->    <item android:state_pressed="true/false" android:drawable="@drawable/exam01" />    <!-- 聚焦状态:(01) true表示获取焦点; (02) false表示非获取焦点。 -->    <item android:state_focused="true/false" android:drawable="@drawable/exam01" />    <!-- 选中状态:(01) true表示选中,例如,Tab被选中; (02) false表示非选中。 -->    <item android:state_selected="true/false" android:drawable="@drawable/exam01" />    <!-- 可勾选状态:(01) true表示可勾选; (02) false表示不可勾选。 -->    <item android:state_checkable="true/false" android:drawable="@drawable/exam01" />    <!-- 选中状态:(01) true表示选中,例如,checkbox被选中; (02) false表示非选中。 -->    <item android:state_checked="true/false" android:drawable="@drawable/exam01" />    <!-- 使能状态:(01) true表示可用; (02) false表示不可用。 -->    <item android:state_enabled="true/false" android:drawable="@drawable/exam01" />    <!-- 焦点状态:(01) true表示获取焦点; (02) false表示可获取焦点。 -->    <item android:state_window_focused="true/false" android:drawable="@drawable/exam01" /></selector>

Shape

<?xml version="1.0" encoding="utf-8"?><shape    xmlns:android="http://schemas.android.com/apk/res/android"    android:shape=["rectangle" | "oval" | "line" | "ring"] >   --- 默认为rectangle    android:innerRadius="dimension"  -- ring专用,内圆环的半径大小。设置innerRadius时,会忽略innerRadiusRatio    android:innerRadiusRatio="float" -- ring专用,内圆环的半径比例。例如,比例为10表示"内圆环的半径大小=圆环宽度/10"    android:thickness="dimension"    -- ring专用,内圆环的厚度大小。设置thickness时,会忽略thicknessRatio    android:thicknessRatio="float"   -- ring专用,内圆环的厚度比例。例如,比例为10表示"内圆环的厚度大小=圆环宽度/10"    android:useLevel="true|false"  -- true表示将该形状当作LevelListDrawable    <size    -- 大小        android:width="dimension"        android:height="dimension" />    <gradient  -- 渐变        android:type=["linear" | "radial" | "sweep"] -- 渐变类型:线性,径向,扫描        android:angle="float"           android:startColor="color"        android:centerColor="color"  -- 中心点颜色        android:endColor="color"        android:centerX="float|fraction"  -- 中心点X坐标        android:centerY="float|fraction"  -- 中心点Y坐标        android:gradientRadius="float|fraction" -- 径向渐变的半径        android:useLevel=["true" | "false"] />    <corners  -- shape=“rectangle”时使用,         android:radius="dimension"  -- 四个角的半径        android:topLeftRadius="dimension"        android:topRightRadius="dimension"        android:bottomLeftRadius="dimension"        android:bottomRightRadius="dimension" />    <padding  -- 内容与边框的距离        android:left="dimension"        android:top="dimension"        android:right="dimension"        android:bottom="dimension" />    <solid    -- 填充颜色        android:color="color" />    <stroke    -- 指定边框        android:width="dimension"        android:color="color"        android:dashWidth="dimension"    -- 虚线宽度        android:dashGap="dimension" />    -- 虚线间隔宽度</shape>


原创粉丝点击