android中selector中的shape
来源:互联网 发布:传奇源码火炬引擎 编辑:程序博客网 时间:2024/06/07 03:20
当然除了使用drawable这样的图片外今天谈下自定义图形shape的方法,对于Button控件
Android上支持以下几种属性shape、gradient、stroke、corners等。
我们就以目前系统的Button的selector为例说下:
Java代码
1. <shape>
2. <gradient
3. android:startColor="#ff8c00"
4. android:endColor="#FFFFFF"
5. android:angle="270" />
6. <stroke
7. android:width="2dp"
8. android:color="#dcdcdc" />
9. <corners
10. android:radius="2dp" />
11.<padding
12. android:left="10dp"
13. android:top="10dp"
14. android:right="10dp"
15. android:bottom="10dp" />
16.</shape>
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,
endColor为渐变结束的颜色,下面的angle是角度。接下来是stroke可以理解为边缘,corners
为拐角这里radius属性为半径,最后是相对位置属性padding。
对于一个Button完整的定义可以为:
Java代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <selector
3. xmlns:android="http://www.norkoo.com">
4. <item android:state_pressed="true" >
5. <shape>
6. <gradient
7. android:startColor="#ff8c00"
8. android:endColor="#FFFFFF"
9. android:angle="270" />
10. <stroke
11. android:width="2dp"
12. android:color="#dcdcdc" />
13. <corners
14. android:radius="2dp" />
15. <padding
16. android:left="10dp"
17. android:top="10dp"
18. android:right="10dp"
19. android:bottom="10dp" />
20. </shape>
21. </item>
22.
23. <item android:state_focused="true" >
24. <shape>
25. <gradient
26. android:startColor="#ffc2b7"
27. android:endColor="#ffc2b7"
28. android:angle="270" />
29. <stroke
30. android:width="2dp"
31. android:color="#dcdcdc" />
32. <corners
33. android:radius="2dp" />
34. <padding
35. android:left="10dp"
36. android:top="10dp"
37. android:right="10dp"
38. android:bottom="10dp" />
39. </shape>
40. </item>
41.
42. <item>
43. <shape>
44. <gradient
45. android:startColor="#ff9d77"
46. android:endColor="#ff9d77"
47. android:angle="270" />
48. <stroke
49. android:width="2dp"
50. android:color="#fad3cf" />
51. <corners
52. android:radius="2dp" />
53. <padding
54. android:left="10dp"
55. android:top="10dp"
56. android:right="10dp"
57. android:bottom="10dp" />
58. </shape>
59. </item>
60.</selector>
注意!提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获
得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。
Android上支持以下几种属性shape、gradient、stroke、corners等。
我们就以目前系统的Button的selector为例说下:
Java代码
1. <shape>
2. <gradient
3. android:startColor="#ff8c00"
4. android:endColor="#FFFFFF"
5. android:angle="270" />
6. <stroke
7. android:width="2dp"
8. android:color="#dcdcdc" />
9. <corners
10. android:radius="2dp" />
11.<padding
12. android:left="10dp"
13. android:top="10dp"
14. android:right="10dp"
15. android:bottom="10dp" />
16.</shape>
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,
endColor为渐变结束的颜色,下面的angle是角度。接下来是stroke可以理解为边缘,corners
为拐角这里radius属性为半径,最后是相对位置属性padding。
对于一个Button完整的定义可以为:
Java代码
1. <?xml version="1.0" encoding="utf-8"?>
2. <selector
3. xmlns:android="http://www.norkoo.com">
4. <item android:state_pressed="true" >
5. <shape>
6. <gradient
7. android:startColor="#ff8c00"
8. android:endColor="#FFFFFF"
9. android:angle="270" />
10. <stroke
11. android:width="2dp"
12. android:color="#dcdcdc" />
13. <corners
14. android:radius="2dp" />
15. <padding
16. android:left="10dp"
17. android:top="10dp"
18. android:right="10dp"
19. android:bottom="10dp" />
20. </shape>
21. </item>
22.
23. <item android:state_focused="true" >
24. <shape>
25. <gradient
26. android:startColor="#ffc2b7"
27. android:endColor="#ffc2b7"
28. android:angle="270" />
29. <stroke
30. android:width="2dp"
31. android:color="#dcdcdc" />
32. <corners
33. android:radius="2dp" />
34. <padding
35. android:left="10dp"
36. android:top="10dp"
37. android:right="10dp"
38. android:bottom="10dp" />
39. </shape>
40. </item>
41.
42. <item>
43. <shape>
44. <gradient
45. android:startColor="#ff9d77"
46. android:endColor="#ff9d77"
47. android:angle="270" />
48. <stroke
49. android:width="2dp"
50. android:color="#fad3cf" />
51. <corners
52. android:radius="2dp" />
53. <padding
54. android:left="10dp"
55. android:top="10dp"
56. android:right="10dp"
57. android:bottom="10dp" />
58. </shape>
59. </item>
60.</selector>
注意!提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获
得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。
- android中selector中的shape
- Android中的selector&&shape
- Android中的Shape,Selector文件
- android中shape、selector、color
- android selector中使用shape
- Android selector中嵌套shape
- android中的 shape,selector layer-list
- Android中的Shape,selector使用总结
- Android中 shape和selector的使用
- android中shape与selector的使用
- 笔记14--android中Shape、Selector
- Android XML 文件 中 的 selector、shape
- Android中Shape 和 Selector的用法
- Android中Shape和selector的使用
- Android中shape和selector的使用
- Android中Shape、selector在xml中的使用、切换按钮的背景图案
- Android:shape和selector
- Android--Selector、shape详解
- 异常的捕获及处理
- 继承CListView类的cs.style设置LVS_REPORT
- final关键字
- 路由决策原则
- Android Building System
- android中selector中的shape
- Quartz待解决问题
- haha
- Using LINQ to manipulate data in DataSet/DataTable
- C++中class和struct的区别
- 未来的路
- JAVA实现反向连接_屏幕监视 (TCP)
- apk文件编译到系统文件中的方法
- java socket通信-传输文件图片_传输图片