Android基础之drawable标签的使用下
2016-05-18 17:59
621 查看
shape标签
shape包括Rectangle、 Oval、Line、Ring图形样式
Rectangle咱就不提了 先看oval:
![](http://img.blog.csdn.net/20160518173114586)
对应的drawable资源分别是
第一个就设置填充色
第二个多了个padding的设置
第三个:与第二个相比多了个背景大小的设置
第四个:多了个描灰边
第五个:3跟前面相比没有填充
第六个:虚线描边
第七个:添加渐变
Line:
效果可以想象就不贴了 要注意的是 width<=dashWidth
Ring:
先看效果:
![](http://img.blog.csdn.net/20160518174923689)
第四个对应的drawable如下:
其他的就不贴了。
再看下
layer-list标签:
先看效果图:
![](http://img.blog.csdn.net/20160518175613931)
接下来是indiactor的布局;
看下RadioButton 的selector的实现:
文字的颜色选择器:
第二个是默认的
另外的一个应用就是实现阴影效果:
至于这个属性android:paddingMode=”stack|nest”等以后接触了再详细解释
源码点击下载
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”等以后接触了再详细解释
源码点击下载
相关文章推荐
- android:padding和android:margin的区别
- Android创建缓存文件并使用流读取
- android中sharedPreferences的用法
- [demo]仿IOS底部弹框效果及Android各类对话框和弹框效果
- 如何用studio将一个Android工程转成一个jar文件
- Android : 按 Back 按钮不返回处于后台的 Activity
- Android亮屏和熄屏控制
- Android 开发中Parcel存储类型和数据容器
- Androidstudio导入第三方库工程教程2
- Android Back&reset(备份与恢复出产设置)
- Android消息处理机制深度解析笔记
- Android机器是否有Root权限判断
- 从头学android_内部存储空间和sd卡文件读写操作
- Android Studio 修改包名
- Windows-----Android--Studio-----使用Git
- Android Studio 百度地图 230错误 Scode码校验失败
- Android关于手机适配的一些问题
- Error: com.android.ide.common.process.ProcessException: org.gradle.proc ess.internal.ExecException:
- Android Canvas类的应用
- android 框架 MVP