背景选择器selector替换按钮默认背景

一、效果

正常状态



获取焦点或按下



按钮的背景图片是.9图,.9图的制作过程,见下面博文

http://blog.csdn.net/zengmingen/article/details/50193245


二、步骤

模仿android自带的按钮控件编写
1、找到android自带按钮的样式。
D:\ADT\sdk\platforms\android-16\data\res\values\style.xml文件中找Button控件,
<item name="android:background">@android:drawable/btn_default</item>是背景选择器,不是图片。
代码如下。
 <style name="Widget.Button"><item name="android:background">@android:drawable/btn_default</item><item name="android:focusable">true</item><item name="android:clickable">true</item><item name="android:textAppearance">?android:attr/textAppearanceSmallInverse</item><item name="android:textColor">@android:color/primary_text_light</item><item name="android:gravity">center_vertical|center_horizontal</item></style>
2、查找Button的背景选择器代码。
找到D:\ADT\sdk\platforms\android-16\data\res\drawable\btn_default.xml
代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_window_focused="false" android:state_enabled="true"android:drawable="@drawable/btn_default_normal" /><item android:state_window_focused="false" android:state_enabled="false"android:drawable="@drawable/btn_default_normal_disable" /><item android:state_pressed="true" android:drawable="@drawable/btn_default_pressed" /><item android:state_focused="true" android:state_enabled="true"android:drawable="@drawable/btn_default_selected" /><item android:state_enabled="true"android:drawable="@drawable/btn_default_normal" /><item android:state_focused="true"android:drawable="@drawable/btn_default_normal_disable_focused" /><itemandroid:drawable="@drawable/btn_default_normal_disable" />
</selector>

3、模仿着写。先写样式,再写选择器。
样式NextStyle代码如下:
<style name="NextStyle"><item name="android:layout_width">wrap_content</item><item name="android:layout_height">wrap_content</item><item name="android:layout_alignParentBottom">true</item><item name="android:layout_alignParentRight">true</item><item name="android:background">@drawable/btn_green_selector</item><item name="android:drawableRight">@drawable/next</item><item name="android:text">下一步</item><item name="android:onClick">next</item></style>
选择器btn_green_selector.xml的代码如下:一个选择器一个xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><!-- 按下 --><item android:drawable="@drawable/btn_green_pressed" android:state_pressed="true"/><!-- 获取焦点 --><item android:drawable="@drawable/btn_green_pressed" android:state_focused="true"/><!-- 默认,默认放在最后--><item android:drawable="@drawable/function_greenbutton_normal"/>
</selector>

4、布局文件中使用
代码如下
<Button style="@style/NextStyle" />






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 获取控件高度

2019独角兽企业重金招聘Python工程师标准>>> 1.ios 获取控件相对屏幕的位置 需要获取的对象为view1&#xff0c;则该视图相对屏幕的位置可使用下面方法实现&#xff1a; UIWindow * window[[[UIApplication sharedApplication] delegate] window]; CGRect rect[view…

php文件上传前端页面样式,HTML实现美化上传文件样式

这篇文章介绍的内容是HTML实现美化上传文件i样式 &#xff0c;有着一定的参考价值&#xff0c;现在分享给大家&#xff0c;有需要的朋友可以参考一下传统写法上传文件效果如下图所示这个样式调整了很长时间&#xff0c;最后结果都不尽人意。非常规写法上传文件上传给真正的用于…

08-spring学习-annotation配置

利用annotation配置注入关系 为了更好的解释此类存在的意义&#xff0c;下面通过一段习惯性的开发进行问题的描述&#xff0c;例如&#xff1a; 现在有一个IAdminService服务层&#xff0c;这个服务层要调用的是IAdminDAO和IRoleDAO两个数据层操作&#xff0c;于是定义如下&…

Android 6.0 源代码编译实践

前阵子去上海参加 Android 开发面试&#xff0c;被问及了 Android 的基本原理、常用组件背后的实现机制、设计模式等问题&#xff0c;我都回答地不好。面试时&#xff0c;老司机们常常问我对知识点“背后的实现代码有没有看&#xff1f;”。于是我就想着&#xff0c;回来要把 A…

RNN介绍,较易懂

人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候&#xff0c;你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃&#xff0c;然后用空白的大脑进行思考。我们的思想拥有持久性。 传统的神经网络并…

php生成图片水印,PHP生成图片加文字及图案水印办法

工作中&#xff0c;各种语言都要会&#xff0c;但不是各种语言都记到脑子里&#xff0c;常常要查字典、查手册、以及百度对于PHP生成图片加文字及图案水印这项技巧&#xff0c;好久没有用&#xff0c;又有些生疏了&#xff0c;现在来温故知新&#xff0c;加深记忆&#xff01;代…

易飞扬宣布完成100G CWDM4PSM4光模块量产线建设

讯&#xff0c;易飞扬即日宣布量产两款高性能的100G光模块&#xff1a;100G QSFP28 CWDM4 和100G QSFP28 PSM4。两种产品采用同一个技术平台和生产平台。本次建设投产的CWDM4/PSM4 车间为万级无尘恒温恒湿车间&#xff0c;面积2000平米&#xff0c;配置有3套全自动高精密WIRE B…

滑动切换activity

一、效果 手在屏幕上划过一段距离&#xff0c;切换页面。 二、原理 2.1手在屏幕上出发 onTouch事件 2.2在onTouch事件中完成滑动逻辑处理 2.2.1 判断划过的x轴距离&#xff0c;如果大于多少&#xff0c;则startActivtiy 2.2.2 判断划过的y轴距离&#xff0c;如果大于多少&a…

Redux的全家桶与最佳实践

2019独角兽企业重金招聘Python工程师标准>>> image.png Redux 的第一次代码提交是在 2015 年 5 月底&#xff08;也就是一年多前的样子&#xff09;&#xff0c;那个时候 React 的最佳实践还不是明晰&#xff0c;作为一个 View 层&#xff0c;有人会用 backbone 甚至…

php二分查找算法时间复杂度,一个运用二分查找算法的程序的时间复杂度是什么...

一个运用二分查找算法的程序的时间复杂度是“对数级别”。二分查找是一种效率较高的查找方法&#xff0c;算法复杂度即是while循环的次数&#xff0c;时间复杂度可以表示“O(h)O(log2n)”。本教程操作环境&#xff1a;windows7系统、Dell G3电脑。一个运用二分查找算法的程序的…

将不确定变为确定~头压缩是否有必要,MVC如何实现头压缩

网页的头部压缩在页面体积大的情况下非常有必要做&#xff0c;它会使页面体积有一个明显的减小&#xff0c;同时加到网页从服务端下载到客户端的速度&#xff0c;以下是我做的一个测试&#xff1a; 没有使用头压缩时&#xff1a; 使用了头压缩后&#xff1a; 我们可以看到&…

android .9.png ”点九” 图片制作方法

“点九”是andriod平台的应用软件开发里的一种特殊的图片形式&#xff0c;文件扩展名为&#xff1a;.9.png 智能手机中有自动横屏的功能,同一幅界面会在随着手机(或平板电脑)中的方向传感器的参数不同而改变显示的方向,在界面改变方向后,界面上的图形会因为长宽的变化而产生拉伸…

深入理解HTTP Session

session在web开发中是一个非常重要的概念&#xff0c;这个概念很抽象&#xff0c;很难定义&#xff0c;也是最让人迷惑的一个名词&#xff0c;也是最多被滥用的名字之一&#xff0c;在不同的场合&#xff0c;session一次的含义也很不相同。这里只探讨HTTP Session。为了说明问题…

Linux访问其他进程空间,Linux环境进程间通信系列(五):共享内存

共享内存可以说是最有用的进程间通信方式&#xff0c;也是最快的IPC形式。两个不同进程A、B共享内存的意思是&#xff0c;同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新&#xff0c;反之亦然。由于多个进程共享同一块内存区…

冲刺NO.8

Alpha冲刺第八天 站立式会议 项目进展 项目稳步进行&#xff0c;项目的基础部分如基本信息管理&#xff0c;信用信息管理等部分已相对比较完善。 问题困难 技术困难在短期内很难发生质的变化&#xff0c;而本项目由于选择了队员不太熟悉的程序框架&#xff0c;所以所以项目的交…

linux由众多微内核组成,什么是linux

大家对Linux这个词比较陌生吧&#xff0c;那么Linux是什么呢&#xff1f;Linux是什么Linux是一种自由和开放源码的类Unix操作系统。目前存在着许多不同的Linux&#xff0c;但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中&#xff0c;从手机、平板电脑、路由器和视…

SqlServer2008备份与还原(完整图示版)

一、备份 1、在需要备份的数据库上&#xff0c;右键——任务——备份&#xff0c;如下&#xff1a; 2、选择备份到哪个路径和备份名字&#xff1a; 点击“添加”&#xff0c;如下&#xff0c; 3、上面点击“确定”后&#xff0c;回到第一个页面&#xff0c;选中刚才添加的路径和…

Jquery mobile问题总汇

转载&#xff1a;http://www.wglong.com/main/artical!details?id4#q6 1页面缩放显示问题 问题描述&#xff1a; 页面似乎被缩小了&#xff0c;屏幕太宽了。 解决办法&#xff1a; 在head标签内加入&#xff1a; <meta name"viewport" content"widthdevice…

linux环境OpenRASP使用教程,集成openRASP与攻击测试

1.介绍openRASP是一个百度的安全框架&#xff0c;将其集成到我们的web项目中&#xff0c;就像是给web项目安装了一款“安全管家”的软件&#xff0c;它可以检测到攻击&#xff0c;并进行拦截。2.集成openRASP到项目中openRASP针对不同的服务器&#xff0c;提供了不同的安装方法…

ExtJs 备忘录(4)—— Form表单(四) [ 数据提交 ]

一、截图和示例共用Ext.FormPanel1.1  截图由于本文主要关注的是表单提交的几种方式&#xff0c;所以仅用了一个表单项以便于测试和减少示例代码。1.2  示例共用Ext.FormPanel <script type"text/javascript">Ext.onReady(function() { Ext.Qui…