Android基础之drawable标签的使用下

来源:互联网 发布:java接口的定义 编辑:程序博客网 时间:2024/06/05 18:38

shape标签
shape包括Rectangle、 Oval、Line、Ring图形样式
Rectangle咱就不提了 先看oval
这里写图片描述
对应的drawable资源分别是
第一个就设置填充色

       <solid android:color="#E4007F" />

第二个多了个padding的设置

    <solid android:color="#E4007F" /    <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />

第三个:与第二个相比多了个背景大小的设置

    <solid android:color="#E4007F" />    <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />    <size        android:width="40dp"        android:height="40dp" />

第四个:多了个描灰边

    <solid android:color="#E4007F" />    <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />    <size        android:width="40dp"        android:height="40dp" />    <stroke        android:width="2dp"        android:color="@android:color/darker_gray" />

第五个:3跟前面相比没有填充

  <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />    <size        android:width="40dp"        android:height="40dp" />    <stroke        android:width="2dp"        android:color="@android:color/darker_gray" />

第六个:虚线描边

  <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />    <size        android:width="40dp"        android:height="40dp" />    <stroke        android:width="2dp"        android:color="@android:color/darker_gray" />

第七个:添加渐变

    <padding        android:bottom="4dp"        android:left="4dp"        android:right="4dp"        android:top="4dp" />    <size        android:height="40dp"        android:width="40dp" />    <gradient        android:endColor="#000000"        android:gradientRadius="40dp"        android:startColor="#abcabc"        android:type="sweep" />

Line:

    <!-- dashGap 实线间的间隙 -->    <!-- dashWidth 虚线的宽度 -->    <!-- width 描边画笔的宽度 -->    <stroke        android:width="1dp"        android:color="#2F90BD"        android:dashGap="10dp"        android:dashWidth="4dp" />    <size android:height="4dp" />

效果可以想象就不贴了 要注意的是 width<=dashWidth
Ring:
先看效果:
这里写图片描述
第四个对应的drawable如下:

    android:innerRadiusRatio="3"    android:shape="ring"    android:thicknessRatio="9"    android:useLevel="false">    <gradient        android:endColor="#2F90BD"        android:startColor="#FFFFFF"        android:type="sweep" />    <stroke        android:width="1dp"        android:color="@android:color/black" />

其他的就不贴了。

再看下
layer-list标签:

先看效果图:
这里写图片描述
接下来是indiactor的布局;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:background="#C2C2C2"    android:orientation="vertical" >    <RadioGroup        android:layout_width="match_parent"        android:layout_height="48dp"        android:gravity="center"        android:orientation="horizontal" >        <RadioButton            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_weight="1"            android:background="@drawable/bg_tab_selector"            android:button="@null"            android:gravity="center"            android:text="TAB1"            android:textColor="@color/text_tab_selector" />        <RadioButton            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_weight="1"            android:background="@drawable/bg_tab_selector"            android:button="@null"            android:gravity="center"            android:text="TAB2"            android:textColor="@color/text_tab_selector" />        <RadioButton            android:layout_width="match_parent"            android:layout_height="match_parent"            android:layout_weight="1"            android:background="@drawable/bg_tab_selector"            android:button="@null"            android:gravity="center"            android:text="TAB3"            android:textColor="@color/text_tab_selector" />    </RadioGroup>    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_margin="16dp"        android:background="@drawable/bg_shadow_corners_rectangle"        android:gravity="center"        android:padding="16dp"        android:text="带阴影的圆角矩形" /></LinearLayout>

看下RadioButton 的selector的实现:

    <item android:state_checked="true"><layer-list>            <!-- 红色底 -->            <item><color android:color="#E4007F" />            </item>            <!-- 白色背景 -->            <item android:bottom="4dp" android:drawable="@android:color/white"/>        </layer-list></item>    <item><layer-list>            <item><color android:color="#E4007F" />            </item>            <item android:bottom="1dp"><color android:color="@android:color/white" />            </item>        </layer-list></item>

文字的颜色选择器:

<item android:color="#E4007F" android:state_checked="true" />    <item android:color="#E4007F" android:state_selected="true" />    <item android:color="@android:color/black" />

第二个是默认的

另外的一个应用就是实现阴影效果:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"    android:paddingTop="16dp"    android:paddingBottom="16dp"    android:paddingMode="stack">    <!-- 阴影 -->    <item        android:left="2dp"        android:top="4dp">        <shape>            <solid android:color="@android:color/darker_gray" />            <corners android:radius="10dp" />        </shape>    </item>    <!-- 前景 -->    <item        android:bottom="4dp"        android:right="2dp">        <shape>            <solid android:color="#FFFFFF" />            <corners android:radius="10dp" />        </shape>    </item></layer-list>

至于这个属性android:paddingMode=”stack|nest”等以后接触了再详细解释

源码点击下载

0 0
原创粉丝点击