android中drawable资源文件的使用
2016-04-23 21:59
471 查看
Button的一些背景效果: android:state_selected是选中 android:state_focused是获得焦点 android:state_pressed是点击android:state_enabled是设置是否响应事件,指所有事件selector主要是用来改变控件的默认背景drawable/list_item_bg.xml <?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 默认时的背景图片--> <item android:drawable="@drawable/pic1" /> <!-- 没有焦点时的背景图片--> <item android:state_window_focused="false" android:drawable="@drawable/pic1" /> <!-- 非触摸模式下获得焦点并单击时的背景图片--> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/pic2" /> <!-- 触摸模式下单击时的背景图片--> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" /> <!--选中时的图片背景--> <item android:state_selected="true" android:drawable="@drawable/pic4" /> <!--获得焦点时的图片背景--> <item android:state_focused="true" android:drawable="@drawable/pic5" /> </selector>样可以设置button的selector效果。也可以设置selector改变button中的文字状态。 以下就是配置button中的文字效果: drawable/button_font.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="#FFF" /> <item android:state_focused="true" android:color="#FFF" /> <item android:state_pressed="true" android:color="#FFF" /> <item android:color="#000" /> </selector>Button还可以实现更复杂的效果,例如渐变啊等等。 drawable/button_color.xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <!-- 定义当button 处于pressed 状态时的形态。--> <shape> <gradient android:startColor="#8600ff" /> <stroke android:width="2dp" android:color="#000000" /> <corners android:radius="5dp" /> <padding android:left="10dp" android:top="10dp" android:bottom="10dp" android:right="10dp" /> </shape> </item> <item android:state_focused="true"> <!-- 定义当button获得focus时的形态--> <shape> <gradient android:startColor="#eac100" /> <stroke android:width="2dp" android:color="#333333" color="#ffffff" /> <corners android:radius="8dp" /> <padding android:left="10dp" android:top="10dp" android:bottom="10dp" android:right="10dp" /> </shape> </item> </selector>shape用于设定形状,可以在selector,等里面使用,有6个子标签
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 圆角 --> <corners android:radius="9dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp"/><!-- 设置圆角半径 --> <!-- 渐变 --> <gradient android:startColor="@android:color/white" android:centerColor="@android:color/black" android:endColor="@android:color/black" android:useLevel="true" android:angle="45" android:type="radial" android:centerX="0" android:centerY="0" android:gradientRadius="90"/> <!-- 间隔 --> <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp"/><!-- 各方向的间隔 --> <!-- 大小 --> <size android:width="50dp" android:height="50dp"/><!-- 宽度和高度 --> <!-- 填充 --> <solid android:color="@android:color/white"/><!-- 填充的颜色 --> <!-- 描边 --> <stroke android:width="2dp" android:color="@android:color/black" android:dashWidth="1dp" android:dashGap="2dp"/> </shape>
圆角:同时设置五个属性,则Radius属性无效android:Radius="20dp" 设置四个角的半径android:topLeftRadius="20dp" 设置左上角的半径android:topRightRadius="20dp" 设置右上角的半径android:bottomLeftRadius="20dp" 设置右下角的半径android:bottomRightRadius="20dp" 设置左下角的半径描边:dashWidth和dashGap属性,只要其中一个设置为0dp,则边框为实现边框android:width="20dp" 设置边边的宽度android:color="@android:color/black" 设置边边的颜色android:dashWidth="2dp" 设置虚线的宽度android:dashGap="20dp" 设置虚线的间隔宽度渐变:当设置填充颜色后,无渐变效果。angle的值必须是45的倍数(包括0),仅在type="linear"有效,不然会报错。android:useLevel 这个属性不知道有什么用。angle对应值的起点如图:我的例子调节空间形状<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="oval"><!-- 填充的颜色 --><solid android:color="#FFFFFF" /><!-- 设置按钮的四个角为弧形 --><!-- android:radius 弧形的半径 --><stroke android:width="2px" android:color="#FF5C00"/><!-- padding:里面的文字与边界的间隔 --><paddingandroid:left="5dp"android:right="5dp"android:top="2dp"android:bottom="2dp"/></shape>控件外边框<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><corners android:radius="4dp" /><solid android:color="@color/background" /><stroke android:width="1dp" android:color="@color/orange" /></shape></item><item android:state_enabled="false"><shape><corners android:radius="4dp" /><solid android:color="@color/gray" /><stroke android:width="1px" android:color="@color/gray" /></shape></item><item><shape android:shape="rectangle"><corners android:radius="4dp" /><solid android:color="@color/white" /><stroke android:width="1px" android:color="@color/orange" /></shape></item></selector>自定义checkBox<CheckBoxandroid:button="@drawable/bg_check_box" /><?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/ic_choose_checkbox" android:state_checked="true"></item><item android:drawable="@drawable/ic_no_choose_checkbox" android:state_checked="false"></item></selector>自定义RadioButtonandroid:button="@drawable/bg_radio_button"<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/ic_choose_dot" android:state_checked="true"></item><item android:drawable="@drawable/ic_no_choose_dot" android:state_checked="false"></item></selector>按钮电压之后有不同颜色<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><corners android:radius="3dp"/><solid android:color="@color/button_orange_pressed" /><stroke android:width="1dp" android:color="@color/button_orange_pressed_edge" /></shape></item><item android:state_enabled="false"><shape><corners android:radius="3dp" /><solid android:color="@color/button_orange_disabled" /><stroke android:width="1dp" android:color="@color/button_orange_disabled_edge" /></shape></item><item><shape><corners android:radius="3dp" /><solid android:color="@color/button_orange" /><stroke android:width="1dp" android:color="@color/button_orange_edge" /></shape></item></selector>
相关文章推荐
- Android数据库SQLite
- AndroidStudio使用进阶二:搭建自己的maven私服,并使用Gradle统一依赖管理
- Android数据存储方式之 SQLite
- Android 技术总结(不断更新)
- Android中的Environment.getExternalStorageState使用
- 广播--android学习
- android桌面快捷方式跳转到指定activity
- [android]editText和软键盘的一些总结
- Android apk反编译
- android studio导入jar包
- Android导入开源库及jar等文件到基于Android Studio构建的项目中
- [android] 手机卫士号码归属地查询完成
- mob短信验证两种方式
- android studio JNI使用
- android studio JNI使用
- android studio JNI使用
- Android开发流程
- Android 日志工具类log
- Android自定义Toast
- Android 手机号、身份证号、邮件,从view得到图片、去除html标签工具类