android开发之Selector与Shape的应用
来源:互联网 发布:免费java教程入门视频 编辑:程序博客网 时间:2024/04/30 13:07
首先,直接上个图,让大伙知道知道,我要干什么?
第一步: 先在你的项目中的/res/下创建drawable文件夹并创建三份文件:
①.allstart_press_shape.xml:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="@dimen/s_5dp"/> <stroke android:width="@dimen/s_1dp" android:color="@color/color_blue"/> <solid android:color="@color/color_f5f4f4"/></shape>
②.allstart_shape.xml:
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="@dimen/s_5dp"/> <stroke android:width="@dimen/s_1dp" android:color="@color/color_bebebe"/> <solid android:color="@color/color_f5f4f4"/></shape>
③.allstart_selector.xml:
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/allstart_press_shape" /> <item android:drawable="@drawable/allstart_shape"/></selector>
第二步:在/res/values下创建style_layout.xml,这里为了好区分,我写了一样的style,你只要写cacheing_all_stop或者cacheing_all_start即可!
<?xml version="1.0" encoding="utf-8"?><resources> <!--全部暂停--> <style name="cacheing_all_stop"> <item name="android:layout_width">@dimen/s_165dp</item> <item name="android:layout_height">@dimen/s_38dp</item> <item name="android:textColor">?attr/textColor_333</item> <item name="android:textSize">@dimen/s_16dp</item> <item name="android:gravity">center</item> <item name="android:background">@drawable/allstart_selector</item> </style> <!--全部开始--> <style name="cacheing_all_start"> <item name="android:layout_width">@dimen/s_165dp</item> <item name="android:layout_height">@dimen/s_38dp</item> <item name="android:textColor">?attr/textColor_333</item> <item name="android:textSize">@dimen/s_16dp</item> <item name="android:gravity">center</item> <item name="android:background">**@drawable/allstart_selector**</item> //进行了引用 </style></resources>
那么,细心地哥们,有可能注意到了一个点,那就是我这的颜色是进行引用的!那么,这个怎么弄呢?
首先在/res/values/attrs.xml文件下:
<?xml version="1.0" encoding="utf-8"?><resources> <attr name="textColor_333" format="reference|color" /><resources>
然后在/res/values/style.xml文件下的你的项目设置的主题下进行添加一下代码:
eg:本人的项目当中使用的Theme是BrowserThemeDefault主题:
<application android:icon="@drawable/icon_app" android:label="@string/app_name" android:theme="@style/**BrowserThemeDefault**" >
因此,我就得在style.xml文件中这么写:
<resources> <style name="BrowserThemeDefault" parent="@android:style/Theme.NoTitleBar"> <item name="textColor_333">@color/color_333</item> </style><resources>
第三步:进行最终显示操作:
<LinearLayout android:id="@+id/ll_start_stop" android:layout_below="@id/head" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/s_15dp" android:layout_marginLeft="@dimen/s_10dp" android:orientation="horizontal" android:weightSum="2" > <TextView android:id="@+id/tv_allStop" style="@style/cacheing_all_stop" android:text="@string/title_allStop" android:layout_weight="1" /> <TextView android:id="@+id/tv_allStart" android:text="@string/title_allStart" style="@style/cacheing_all_start" android:layout_weight="1" android:layout_marginLeft="@dimen/s_10dp" android:layout_marginRight="@dimen/s_10dp" /></LinearLayout>
第四步:进行最终点击操作:
case R.id.tv_allStop : //全部暂停按钮事件 //改变按钮颜色 tv_allStop.setBackgroundResource(R.drawable.allstop_selector); tv_allStop.setTextColor(getResources().getColor(R.color.color_blue)); tv_allStart.setBackgroundResource(R.drawable.allstart_selector); tv_allStart.setTextColor(getResources().getColor(R.color.color_333)); break;case R.id.tv_allStart : //全部开始按钮事件 //改变按钮颜色 tv_allStart.setBackgroundResource(R.drawable.allstop_selector); tv_allStart.setTextColor(getResources().getColor(R.color.color_blue)); tv_allStop.setBackgroundResource(R.drawable.allstart_selector); tv_allStop.setTextColor(getResources().getColor(R.color.color_333)); break;
0 0
- android开发之Selector与Shape的应用
- Android的Selector与Shape
- android开发步步为营之84:selector与shape的结合使用
- Android开发之Shape和Selector、Layer-list的详解
- android中shape与selector的使用
- Android Selector 与 shape 的用法
- Android Selector与Shape用法
- Android开发之shape、selector和layer-list详解
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- Android学习之浅谈selector与Shape用法
- Android之shape与selector实现圆角
- Android之shape与selector实现圆角
- 使用javascript验证表单
- Cobbler远程安装CentOS系统
- js常见操作
- Java关键字static、final使用小结
- Http协议详解
- android开发之Selector与Shape的应用
- Leetcode NO.21 Merge Two Sorted Lists
- 三角形
- 输出短句
- struts2简单的实例
- Android进阶篇 自定义ActionBar的设计理念
- Linux上Oracle 11g安装步骤
- java分布式事务(JTA)实现 jotm和atomikos
- 一个原生Ajax获取JSON格式数据的例子