笔记14--android中Shape、Selector
2014-04-07 20:25
405 查看
Shape和Selector可为控件显示提供一些特效。
这俩都在res/drawable路径下,drawable文件夹需自己新建。要创建Shape或Selector,只要在项目中新建XML时,Resource Type要选择drawable。直接看下图:
1、shape属性介绍
solid:实心,就是填充的意思。可指定填充颜色。
gradient:渐变。android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
stroke:描边(即设置边框显示格式)。color设置颜色,width设置描边的宽度。当然可把描边弄成虚线的形式:
padding:跟xml中一样。
2、Selector介绍
只有item一个子选项,可在item子选项中写别的选项,比如Selector。介绍下item子选项的属性:
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栏拉下或对话框显示)。
android:background----默认时的背景图片
使用些xml文件:
1.在listview中配置android:listSelector="@drawable/list_item_bg"
2.在listview的item中添加属性android:background=“@drawable/list_item_bg"即可实现,
3.在java代码中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
ListView.setSelector(drawable);同样的效果。
但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"使其透明。
这俩都在res/drawable路径下,drawable文件夹需自己新建。要创建Shape或Selector,只要在项目中新建XML时,Resource Type要选择drawable。直接看下图:
1、shape属性介绍
solid:实心,就是填充的意思。可指定填充颜色。
gradient:渐变。android:startColor和android:endColor分别为起始和结束颜色,android:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
stroke:描边(即设置边框显示格式)。color设置颜色,width设置描边的宽度。当然可把描边弄成虚线的形式:
android:dashWidth="5dp"//android:dashWidth表示'-'这样一个横线的宽度 android:dashGap="3dp"//表示之间隔开的距离corners:圆角(比如为TextView的四个角默认为方形,可设置为圆角显示)。radius:角的弧度,值越大角越圆。
padding:跟xml中一样。
2、Selector介绍
只有item一个子选项,可在item子选项中写别的选项,比如Selector。介绍下item子选项的属性:
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栏拉下或对话框显示)。
android:background----默认时的背景图片
使用些xml文件:
1.在listview中配置android:listSelector="@drawable/list_item_bg"
2.在listview的item中添加属性android:background=“@drawable/list_item_bg"即可实现,
3.在java代码中使用:Drawable drawable = getResources().getDrawable(R.drawable.list_item_bg);
ListView.setSelector(drawable);同样的效果。
但是这样会出现列表有时候为黑的情况,需要加上:android:cacheColorHint="@android:color/transparent"使其透明。
相关文章推荐
- [Android进阶笔记]XML相关——Selector、Shape、Styles
- 学习笔记_android之Selector与Shape的基本用法
- Android Selector 与 Shape 基本用法
- Android之shape与selector实现圆角
- Android--Selector、shape详解 (
- Android自定义矩形及selector、shape的使用
- Android Shape 笔记
- Android-----使用Button特效 selector+shape
- Android_布局Selector与Shape的基本用法
- Android开发:shape和selector和layer-list的(详细说明)
- android中selector中的shape
- Android Button的Selector+Shape
- Android开发:shape和selector和layer-list的(详细说明)
- Android 学习笔记进阶14之像素操作
- Android开发:shape和selector和layer-list的(详细说明)
- Android之用layer-list,shape,selector画各种背景
- Android Drawable资源中selector、layer-list和shape标签详解
- Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)
- Android开发:shape和selector和layer-list的(详细说明)
- Android开发:shape和selector和layer-list的(详细说明)