------------整理自网络----------------------

  1. <?xml version=”1.0″ encoding=”utf-8″?>
  2. <shape xmlns:android=”http://schemas.android.com/apk/res/android”>
  3. <solid android:color=”#00000000″/>
  4. <stroke android:width=”1dp” color=”#ff000000″/>
  5. <padding  android:left=”1dp”
  6. android:top=”1dp”
  7. android:right=”1dp”
  8. android:bottom=”1dp” />
  9. </shape>
  10. solid android:color=“”  //使用这种颜色全部实心填充
  11. stroke  描边
  12. android:width=“1dp” color=“#ff000000” 边的颜色是#ff000000,宽度为1dp
  13. padding  间隔 距离上下左右边框的距离为1dp
  14. 在开发的过程中你还会用到
  15. gradient   此属性控制布局的渐变颜色
  16. 如<gradient android:startColor=”#ff0000″
  17. android:endColor=”#ffffff”            设置渐变颜色,从#ff0000渐变到#ffffff
  18. android:angle=”90″                      设置渐变角度必须为45度得整数倍
  19. android:type=”linear”                   将渐变模式设置成线性模式
  20. >
  21. corners 属性设置边角角度
  22. <corners
  23. android:topRightRadius=”20dp”    右上角
  24. android:bottomLeftRadius=”20dp”    右下角
  25. android:topLeftRadius=”1dp”    左上角
  26. android:bottomRightRadius=”0dp”    左下角
  27. >

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <item
  4. android:color="hex_color"
  5. android:state_pressed="true/false"
  6. “true”表示按下状态使用(例如按钮按下);“false”表示非按下状态使用。
  7. android:state_focused="true/false"
  8. “true”表示聚焦状态使用(例如使用滚动球/D-pad聚焦Button);“false”表示非聚焦状态使用。
  9. android:state_selected="true/false"
  10. “true”表示选中状态使用(例如Tab打开);“false”表示非选中状态使用。
  11. android:state_active="true/false"
  12. “true”表示可勾选状态时使用;“false”表示非可勾选状态使用。(只对能切换可勾选—非可勾选的构件有用。)
  13. android:state_checkable="true/false"
  14. “true”表示勾选状态使用;“false”表示非勾选状态使用。
  15. android:state_checked="true/false"
  16. true”表示勾选状态使用;“false”表示非勾选状态使用。
  17. android:state_enabled="true/false"
  18. “true”表示可用状态使用(能接收触摸/点击事件);“false”表示不可用状态使用。
  19. android:state_window_focused="true/false"
  20. “true”表示应用程序窗口有焦点时使用(应用程序在前台);“false”表示无焦点时使用(例如Notification栏拉下或对话框显示)。
  21. />
  22. </selector>
  23. shape的结构描述:
  24. <shape>
  25. <!-- 实心 -->
  26. <solid android:color="#ff9d77"/>
  27. <!-- 渐变 -->
  28. <gradient
  29. android:startColor="#ff8c00"  <!—开始颜色 -->
  30. android:endColor="#FFFFFF"  <!—结束颜色 -->
  31. android:angle="270" />
  32. <!-- 描边 -->
  33. <stroke
  34. android:width="2dp"
  35. android:color="#dcdcdc" />
  36. <!-- 圆角 -->
  37. <corners
  38. android:radius="2dp" />
  39. <padding
  40. android:left="10dp"
  41. android:top="10dp"
  42. android:right="10dp"
  43. android:bottom="10dp" />
  44. </shape>
  45. 下面是上面属性的说明
  46. solid:实心,就是填充的意思
  47. android:color指定填充的颜色
  48. gradient:渐变
  49. android:startColor和android:endColor分别为起始和结束颜色,ndroid:angle是渐变角度,必须为45的整数倍。
  50. 另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
  51. stroke:描边
  52. android:width="2dp" 描边的宽度,android:color 描边的颜色。
  53. 我们还可以把描边弄成虚线的形式,设置方式为:
  54. android:dashWidth="5dp"
  55. android:dashGap="3dp"
  56. 其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。
  57. corners:圆角
  58. android:radius为角的弧度,值越大角越圆。
  59. 我们还可以把四个角设定成不同的角度,方法为:
  60. <corners
  61. android:topRightRadius="20dp"    右上角
  62. android:bottomLeftRadius="20dp"    右下角
  63. android:topLeftRadius="1dp"    左上角
  64. android:bottomRightRadius="0dp"    左下角
  65. />
  66. 这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角,这个有点郁闷,不过不影响使用,记得别搞错了就行。
  67. 还有网上看到有人说设置成0dp无效,不过我在测试中发现是可以的,我用的是2.2,可能修复了这个问题吧,如果无效的话那就只能设成1dp了。
  68. padding:间隔
  69. 这个就不用多说了,XML布局文件中经常用到。
  70. 具体代码如下:
  71. main.xml:
  72. <Button
  73. android:layout_width="wrap_content"
  74. android:layout_height="wrap_content"
  75. android:text="TestShapeButton"
  76. android:background="@drawable/button_selector"
  77. />
  78. >
  79. button_selector.xml:
  80. <?xml version="1.0" encoding="utf-8"?>
  81. <selector
  82. xmlns:android="http://schemas.android.com/apk/res/android">
  83. <item android:state_pressed="true" >
  84. <shape>
  85. <!-- 渐变 -->
  86. <gradient
  87. android:startColor="#ff8c00"
  88. android:endColor="#FFFFFF"
  89. android:type="radial"
  90. android:gradientRadius="50" />
  91. <!-- 描边 -->
  92. <stroke
  93. android:width="2dp"
  94. android:color="#dcdcdc"
  95. android:dashWidth="5dp"
  96. android:dashGap="3dp" />
  97. <!-- 圆角 -->
  98. <corners
  99. android:radius="2dp" />
  100. <padding
  101. android:left="10dp"
  102. android:top="10dp"
  103. android:right="10dp"
  104. android:bottom="10dp" />
  105. </shape>
  106. </item>
  107. <item android:state_focused="true" >
  108. <shape>
  109. <gradient
  110. android:startColor="#ffc2b7"
  111. android:endColor="#ffc2b7"
  112. android:angle="270" />
  113. <stroke
  114. android:width="2dp"
  115. android:color="#dcdcdc" />
  116. <corners
  117. android:radius="2dp" />
  118. <padding
  119. android:left="10dp"
  120. android:top="10dp"
  121. android:right="10dp"
  122. android:bottom="10dp" />
  123. </shape>
  124. </item>
  125. <item>
  126. <shape>
  127. <solid android:color="#ff9d77"/>
  128. <stroke
  129. android:width="2dp"
  130. android:color="#fad3cf" />
  131. <corners
  132. android:topRightRadius="5dp"
  133. android:bottomLeftRadius="5dp"
  134. android:topLeftRadius="0dp"
  135. android:bottomRightRadius="0dp"
  136. />
  137. <padding
  138. android:left="10dp"
  139. android:top="10dp"
  140. android:right="10dp"
  141. android:bottom="10dp" />
  142. </shape>
  143. </item>
  144. </selector>

Android之Selector、Shape介绍的更多相关文章

  1. android 开发:shape和selector和layer-list的(详细说明)

    目录(?)[+] Shape 简介 使用的方法 属性 Selector 简介 使用的方法 layer-list 简介 例子 最后   <shape>和<selector>在An ...

  2. android selector shape 使用

    先上效果图 message_toolbar_left_bg_selector <?xml version="1.0" encoding="utf-8"?& ...

  3. 【转】Android开发:shape和selector和layer-list的(详细说明)

    <shape>和<selector>在Android UI设计中经常用到.比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到<shape> ...

  4. Android中使用shape实现EditText圆角

    之前看到手机上的百度editText控件是圆角的就尝试做了一下,看了看相关的文章. 因为代码少,看看就知道了.所以下面我就直接贴上代码供大家参考,有其他的好方法记得分享哦~ 整个代码不涉及JAVA代码 ...

  5. Android RadioButton selector背景

    RadioButton selector 背景 <?xml version="1.0" encoding="utf-8"?> <selecto ...

  6. Android中的Shape使用总结

    参考:http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html 在Android程序开发中,我们经常会去用到Shape这个东西去定义各 ...

  7. Android-----使用Button特效 selector+shape

    当然除了使用drawable这样的图片外今天谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape.gradient.stroke.corners等. 我们就以 ...

  8. Android的selector,背景选择器

    原文地址 http://android.blog.51cto.com/268543/564581 首先android的selector是在drawable/xxx.xml中配置的,相关图片放在同目录下 ...

  9. Android自定义drawable(Shape)详解

    在Android开发过程中,经常需要改变控件的默认样式, 那么通常会使用多个图片来解决.不过这种方式可能需要多个图片,比如一个按钮,需要点击时的式样图片,默认的式样图片. 这样就容易使apk变大. 那 ...

随机推荐

  1. 11gR2 Clusterware and Grid Home - What You Need to Know

    11gR2 Clusterware Key Facts 11gR2 Clusterware is required to be up and running prior to installing a ...

  2. NHibernate 中使用 nvarchar(max) 类型

    在 NHibernate 中使用字符串类型,默认会映射到字符类型,在 SQLServer 中,NVARCHAR 类型最大长度是 4000 字符,如果超过 4000,比如使用 SQL Server 中的 ...

  3. Drupal8开发教程:模块开发——创建新页面

    之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块 ...

  4. flex使用buttonbar为viewstack添加导航功能

    先建立一个Main.mxml的应用程序,作为一个主程序,再建立两个component ,一个是jiaju.mxml ,另一个是dianqi.mxml. Main.mxml:  <?xml ver ...

  5. How to deploy JAVA Application on Azure Service Fabric

    At this moment, Azure Service Fabric does not support JAVA application natively (but it's on the sup ...

  6. CentOS 6.5 Maven 编译 Apache Tez 0.8.3 踩坑/报错解决记录

    最近准备学习使用Tez,因此从官网下载了最新的Tez 0.8.3源码,按照安装教程编译使用.平时使用的集群环境是离线的,本打算这一次也进行离线编译,无奈一编译就开始报缺少jar包的错,即使手动下载ja ...

  7. USACO Section 2.3 奶牛家谱 Cow Pedigrees

    OJ:http://www.luogu.org/problem/show?pid=1472 #include<iostream> using namespace std; const in ...

  8. 记录网上资源URL

    FQ(使用路由器): http://kennylee26.iteye.com/blog/1887753 http://www.iteye.com/search?type=all&query=s ...

  9. CSS3 圆形时钟式网页进度条

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. zedboard如何从PL端控制DDR读写(一)

    看了一段时间的DDR手册,感觉大体有一点了解了,想要实际上板调试,然而实验室可用的开发板不多,拿了一块zynq板看了看,DDR确实有,但是已经集成了控制器,而且控制器还放到了PS端,PL只能通过AXI ...