您的位置:首页 > 移动开发 > Android开发

Android基础之drawable标签的使用下

2016-05-18 17:59 621 查看
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”等以后接触了再详细解释

源码点击下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: