Android-自定义控件样式之shape
来源:互联网 发布:cgi编程 编辑:程序博客网 时间:2024/06/05 11:35
自定义控件样式shape
1、描边stroke和填充solid介绍
①效果图
②代码详情:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- stroke描边 width:描边的粗细 color:描出的颜色 dashGap:虚线的间距,如果不写或为0则为实线 dashWidth:虚线的长度 --> <stroke android:width="2dp" android:color="@android:color/holo_red_light" android:dashGap="3dp" android:dashWidth="10dp"/> <!-- solid填充 color:中间填充的颜色--> <solid android:color="@android:color/holo_green_light"/></shape>
2、corners弧度
①效果图
②代码详情:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:width="2dp" android:color="@android:color/holo_red_light" /> <solid android:color="@android:color/holo_green_light" /> <!-- corners弧度 radius:设置四个角的弧度半径 bottomLeftRadius:设置左下角弧度 bottomRightRadius:设置右下角弧度 topLeftRadius:设置左上角弧度 topRightRadius:设置右上角弧度 单独设置的角度会优先--> <corners android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" android:radius="4dp" android:topLeftRadius="10dp" /></shape>
3、gradient渐变
①效果图:C1
Cb1 Cb2 Cb3
C3
Cd1 Cd2
②代码详情
- C1样式:角度、渐变中间颜色
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- gradient渐变 angle:渐变的角度,只能是45的倍数,不然要报错。。。 centerColor:渐变中间的颜色--> <gradient android:angle="45" android:centerColor="@android:color/holo_blue_dark" /></shape>
- Cb样式:渐变x轴和y轴的偏移
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- gradient渐变 centerX:相对于渐变角度,x轴渐变中心点偏移, 默认为0.5如图Cb1,当为0.3时如图Cb2,当为0.7时如图Cb3 centerY:相对于渐变角度,y轴渐变中心点偏移 --> <gradient android:angle="0" android:centerX="0.3" android:centerY="0" android:centerColor="@android:color/holo_blue_dark" /></shape>
- C3样式:渐变开始和结束的颜色
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- gradient渐变 startColor:渐变开始的颜色 endColor:渐变结束的颜色 --> <gradient android:angle="0" android:startColor="@android:color/holo_green_light" android:centerColor="@android:color/holo_blue_dark" android:endColor="@android:color/holo_red_light" /></shape>
- Cd样式:三种渐变的类型
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- gradient渐变 type:渐变的类型 1、linear线性上面的都是线性的 2、radial圆形渐变,必须加上gradientRadius(圆形半径),效果如图Cd1 3、sweep扇形渐变,效果如图Cd2 useLevel(不了解)LevelListDrawable中使用,则为true --> <gradient android:angle="0" android:startColor="@android:color/holo_green_light" android:centerColor="@android:color/holo_blue_dark" android:endColor="@android:color/holo_red_light" android:type="sweep" android:gradientRadius="90" android:useLevel="false"/></shape>
4、padding
<!-- 内边距(边框与内容之间的距离)--> <padding android:bottom="50dp" android:left="50dp" android:right="50dp" android:top="50dp" />
5、size大小
- 直接就能定义控件的大小为200x200
<size android:height="200dp" android:width="200dp"/>
6、shap标签中的shape属性
- ring圆环、oval椭圆、line直线、rectangle矩形
- ring效果图
- ring代码详情
<?xml version="1.0" encoding="utf-8"?><!-- ring圆环:useLevel需要是false才能显示 当shap="ring"时,以下属性才有效 innerRadius内部空心半径 thickness圈框的厚度 innerRadiusRatio="3"内部空心半径 = 圆的半径 / 3 thicknessRatio="10"圈框半径 = 圆的半径 / 10 oval椭圆:画出椭圆的图形 line直线:画出的是直线的图形 rectangle矩形:画出的是矩形(默认)--><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ring" android:innerRadiusRatio="3" android:thicknessRatio="10" android:useLevel="false"> <gradient android:centerColor="@android:color/holo_red_light" android:endColor="@android:color/holo_green_dark" android:startColor="@android:color/holo_orange_dark" android:type="sweep" /></shape>
额外了解
- shape样式还是需要用的多了,才更能调出符合的样式
- 渐变的内容最多,其实到现在用的还是挺少的
- ring可以实现自定义的圆环加载进度条(http://blog.csdn.net/jdsjlzx/article/details/39156291)
想说的话
- 博客坚持写,今后学习了新的东西就在这里记录一下,可回顾,可帮助大家何乐为不为
- 若内容有什么地方不对、不清楚、不足、更好的想法,还望吐槽,一起成长(^o^)/~
- 来一句:“笨”到极致就是“聪明”,“拙”到极点就成了“巧”
0 0
- Android-自定义控件样式之shape
- Android样式之Shape
- Android样式之Shape
- Android shape自定义button样式
- Android shape自定义button样式
- Android控件样式美化之shape的使用
- 用shape、selector自定义样式美化控件
- Android自定义Shape使EditText化身为Bootstrap 风格的 textarea (样式之Shape)
- Android Shape自定义控件属性
- Android 样式开发之shape
- Android样式开发之shape
- android 控件之checkbox自定义样式
- android shape总结 和控件样式定制
- android shape总结 和控件样式定制
- Android selector自定义shape的button样式
- Android 利用shape自定义进度条样式
- Android开发学习笔记:利用drawable中xml文件编写自定义控件样式(shape)
- android自定义控件样式
- BZOJ1492: [NOI2007]货币兑换Cash
- 浅谈线程池(上):线程池的作用及CLR线程池
- 【ENVI错误】 OBJ_NEW:Error encoutered during the sparse operation
- 如何在ListView中点击item控制item中的控件变化(ListView篇)
- 浅谈线程池(中):独立线程池的作用及IO线程池
- Android-自定义控件样式之shape
- 浅谈线程池(下):相关试验及注意事项
- 黑马程序员——面向对象_内部类
- google的Google Brillo和 apple的homeKit, Arm embedded os
- 浅谈代码的执行效率(1):算法是关键
- Android设备获取扫码枪扫描内容
- java对cookie的操作
- 编译caffe中的base_data_layer.cpp错误
- 《JAVA》中利用《动态规划》实现《最小公共子序列》