- 浏览: 60566 次
- 性别:
- 来自: 南京
最新评论
-
cuixuelei:
图形中RChart Demo 字样,怎么去掉
android饼状图表 -
Mr.Cheney:
代码太乱了
gallery加载大量图片时内存溢出的解决方法(一) -
ygswine:
最后一点是否可以在发送QQ邮箱,成功后程序关闭,在Activi ...
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录) -
zxuenet:
erwin_king 写道因为这个时收费的,所以会有的demo ...
android饼状图表 -
mvpstevenlin:
博主,麻烦发一份我学习吧 1577360984@qq.com, ...
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录)
Selector、shape详解(一)
Selector的结构描述:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="hex_color"
android:state_pressed="true/false"
“true”表示按下状态使用(例如按钮按下);“false”表示非按下状态使用。
android:state_focused="true/false"
“true”表示聚焦状态使用(例如使用滚动球/D-pad聚焦Button);“false”表示非聚焦状态使用。
android:state_selected="true/false"
“true”表示选中状态使用(例如Tab打开);“false”表示非选中状态使用。
android:state_active="true/false"
“true”表示可勾选状态时使用;“false”表示非可勾选状态使用。(只对能切换可勾选—非可勾选的构件有用。)
android:state_checkable="true/false"
“true”表示勾选状态使用;“false”表示非勾选状态使用。
android:state_checked="true/false"
true”表示勾选状态使用;“false”表示非勾选状态使用。
android:state_enabled="true/false"
“true”表示可用状态使用(能接收触摸/点击事件);“false”表示不可用状态使用。
android:state_window_focused="true/false"
“true”表示应用程序窗口有焦点时使用(应用程序在前台);“false”表示无焦点时使用(例如Notification栏拉下或对话框显示)。
/>
</selector>
shape的结构描述: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" <!—开始颜色 --> android:endColor="#FFFFFF" <!—结束颜色 --> android:angle="270" /> <!-- 描边 --> <stroke android:width="2dp" android:color="#dcdcdc" /> <!-- 圆角 --> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape>
下面是上面属性的说明 solid:实心,就是填充的意思 android:color指定填充的颜色
gradient:渐变 android:startColor和android:endColor分别为起始和结束颜色,ndroid:angle是渐变角度,必须为45的整数倍。 另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
stroke:描边 android:width="2dp" 描边的宽度,android:color 描边的颜色。 我们还可以把描边弄成虚线的形式,设置方式为: android:dashWidth="5dp"
android:dashGap="3dp" 其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。
corners:圆角 android:radius为角的弧度,值越大角越圆。 我们还可以把四个角设定成不同的角度,方法为: <corners android:topRightRadius="20dp" 右上角 android:bottomLeftRadius="20dp" 右下角 android:topLeftRadius="1dp" 左上角 android:bottomRightRadius="0dp" 左下角 />
这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角,这个有点郁闷,不过不影响使用,记得别搞错了就行。 还有网上看到有人说设置成0dp无效,不过我在测试中发现是可以的,我用的是2.2,可能修复了这个问题吧,如果无效的话那就只能设成1dp了。
padding:间隔 这个就不用多说了,XML布局文件中经常用到。
具体代码如下:
main.xml: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TestShapeButton" android:background="@drawable/button_selector" /> >
button_selector.xml: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF" android:type="radial" android:gradientRadius="50" /> <!-- 描边 --> <stroke android:width="2dp" android:color="#dcdcdc" android:dashWidth="5dp" android:dashGap="3dp" /> <!-- 圆角 --> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item android:state_focused="true" > <shape> <gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7" android:angle="270" /> <stroke android:width="2dp" android:color="#dcdcdc" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item> <shape> <solid android:color="#ff9d77"/> <stroke android:width="2dp" android:color="#fad3cf" /> <corners android:topRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="0dp" android:bottomRightRadius="0dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> </selector> |
源码来自:http://sunxin1001.iteye.com/blog/890175
http://xiaozu.renren.com/xiaozu/102718/333508779
发表评论
-
android 使用des算法
2012-02-09 12:52 1965转自:http://www.linuxidc.com/Linu ... -
Toast显示图片
2012-02-02 12:56 1465转自:http://blog.csdn.net/ling ... -
文字中间加横线效果
2012-02-02 11:00 1913priceTV.setText("价格:2.00 ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(apn操作)
2011-11-08 12:51 1379static Uri uri = Uri.parse(&qu ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(gps操作)
2011-11-08 12:48 1582public static String getCityNam ... -
开机实现将手机联系人、通话记录、手机号码、手机所在地、发送到指定邮箱里,失败则发送短信到指定手机之(获取联系人和电话号码、通话记录)
2011-11-08 12:46 3047首先声明者只是一个个 ... -
Android Activity界面切换添加动画特效
2011-06-14 13:48 1212在Android 2.0之后有了overridePending ... -
android 权限介绍(二)
2011-06-02 17:08 1015SYSTEM_ALERT_WINDOW 允许 ... -
android 权限介绍(一)
2011-06-02 17:00 832Manifest.permission 这个类定义了andro ... -
编写高效的Android代码(提高运行速度,节省电量)
2011-06-02 16:28 1337编写高效的Android代码( ... -
[转帖]Android自定义Activity漂亮跳转效果
2011-05-31 20:10 1284Android自定义Activity漂亮跳转效果 ... -
gallery加载大量图片时内存溢出的解决方法(三)
2011-05-31 19:14 20326、ImageAdapter public class Im ... -
gallery加载大量图片时内存溢出的解决方法(二)
2011-05-31 18:56 2563Paint deafalutPaint = new Paint ... -
gallery加载大量图片时内存溢出的解决方法(一)
2011-05-31 18:55 4483这只是我以前开始搞android事留下的代码,发现还是存在问题 ... -
ListView学习(三) 加载视野内的数据
2011-05-31 17:13 1781在滑动的过程中,只有在视野中的item才会加载数据,其他的其实 ... -
ListView学习(二) 点击条目隐藏展开正文
2011-05-28 00:00 3828本篇是listview条目点击展开或者隐藏内容,本文参照了an ... -
[整理] 操作通话记录(一)
2011-05-25 11:31 1886/* *为了方便后面页面的封装,这里定义了一个实体类 ... -
[整理] 操作通话记录(二)
2011-05-25 11:25 1122//处理时间 public String for ... -
android饼状图表
2011-05-15 15:12 4183相信图表再很多统计应 ... -
ListView学习(一) 滑动分页时底部显示进度条
2011-05-15 14:24 2658我们在使用listview时难免会遇到分页的情况,既然是分页, ...
相关推荐
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector。可以这样说,shape和selector在美化控件中的作用是至关重要的。 1:Selector ...
Shape详解** Shape是Android中用于创建基本图形的XML元素,它可以定义为四种基本形状:矩形(rectangle)、椭圆(oval)、线(line)和环形(ring)。在res/drawable目录下创建XML文件来定义Shape,然后通过Java...
Android Shape 使用详解 Android 中的 Shape 是一个非常重要的概念,它用于定义控件的显示属性,如颜色、渐变、描边、圆角、间隔等。今天,我们将详细地介绍 Shape 的使用方法和相关知识点。 首先,看下面的代码:...
Android selector状态选择器的使用详解 Android selector状态选择器是Android应用程序中常用的UI组件,它可以根据不同的状态来改变控件的外观和行为。例如,在一个按钮控件中,selector可以根据按钮的状态(如点击...
shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: <?xml version=1.0 encoding=utf-8?> <shape xmlns:android=http://schemas.android.com/apk/res/android> <!-- ...
在学习和使用Shape XML时,建议查阅更多关于Shape的使用详解,包括如何实现渐变色、分割线、边框和半透明阴影等效果。同时,了解Shape与Selector的结合使用,可以让你更高效地创建动态的、响应触摸事件的UI元素。 ...
Android 自定义Switch开关按钮的样式实例详解 Android 中的 Switch 开关按钮是用户界面中常用的控件之一,然而原生 Switch 控件的样式并不是很美观,为了满足不同的设计需求,我们需要对 Switch 开关按钮进行自定义...
如果使用`selector`,我们可以创建一个状态选择器,根据`EditText`的不同状态(如焦点、按下等)展示不同的背景效果。 `shape`的使用通常涉及到自定义边框和背景。通过创建一个XML资源文件,我们可以定义矩形、圆角...
例如,创建`my_thumb.xml`和`my_track.xml`,然后使用`<selector>`标签来定义不同状态下的Drawable,如按下、未按下等。 3. **自定义颜色和背景**: 在XML资源中,我们可以设置滑块和轨道的颜色。例如,我们可以用...
#### 二、Selector状态选择器详解 `selector.xml` 是一种特殊的`drawable.xml` 文件类型,它可以根据当前视图的状态(如选中、聚焦、按下等)显示不同的图片或者颜色。下面是一个具体的例子: ```xml <selector ...
在示例中,Selector定义了两个`<shape>`,一个对应于按下状态,另一个对应于默认状态。通过设置不同的颜色和填充,我们可以为按钮或其他可点击控件提供视觉反馈,使得用户在触摸时能明显感知到变化。 至于Canvas,...
Android 中的 Drawable 资源详解及简单实例 Android 中的 Drawable 资源是一种非常重要的资源,它可以用来定义视图的外观样式,如背景、边框、形状等。Drawable 资源可以分为两大类:一类是 Vector Drawable,一类...
Android XML绘图(Shape、Layer、Selector) Android Canvas绘图(canvas、point、porterDuffXfermode、shader) Android 动画详解 Android 自定义控件 今天就当开胃菜,先讲讲最简单的xml绘图,相信这个大家...
在实际应用中,`layer-list` 可以与其它 `Drawable` 类型结合使用,如 `selector` (选择器) 或 `inset` (内嵌),以创建更复杂的视图效果。此外,还可以通过设置 `android:drawable` 属性引用其他资源,实现更灵活的...
一个典型的例子是使用`selector`节点,它允许根据控件的状态(如按下、聚焦、选中等)切换不同的样式。 1. 控件常见状态: - `android:state_pressed`: 指示控件是否处于按下状态。如果为`true`,则表示按下,如...