一、效果

正常状态

获取焦点或按下

按钮的背景图片是.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" />

背景选择器selector替换按钮默认背景相关推荐

  1. win10——microsoft同步用户主题桌面背景的本地位置、默认背景位置、双屏双背景图设置

    漫游的桌面背景(把地址直接复制到文件管理系统地址栏中ENTER即可直达) 是针对用户帐户而言的,所以所有通过microsoft帐户同步过来的数据基本都在当前用户目录下,即"%userprof ...

  2. Visual Studio 2022如何设置背景图片以及如何恢复默认背景

    文章目录 ClaudiaIDE 如何安装 方法一 方法二 如何更换背景 如何恢复默认背景 ClaudiaIDE ClaudiaIDE是VS提供的一款可以自定义背景的插件,有了它我们就可以自己更换自己想 ...

  3. Android自定义按钮状态背景

    如果你觉得Android自带的按钮默认.按下时样式太low,可以尝试自定义按钮状态背景: 首先把我自定义的按钮状态背景图贴上来: 默认时: 按下后: 有没有很小清新呐~~~ 自定义按钮状态步骤如下: ...

  4. 如何设置HTML背景特效,HTML5之按钮背景不同动画特效设计

    今天来给大家介绍一下HTML5,讲什么呢,讲讲一组效果非常酷的鼠标滑过按钮背景动画特效. 在该特效中,当鼠标滑过按钮时,使用CSS3 animation来动画background-size和backg ...

  5. android的 selector 背景选择器和 shape 详解(转)

    转自:http://blog.csdn.net/chengyingzhilian/article/details/7277106 感谢原作者 ============================= ...

  6. [转]android selector 背景选择器

    关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是 很全,所以现在总结一下android的selector的用法. 首先android的selector是 ...

  7. [转]android的selector,背景选择器

    本文转自:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6014.html 最近做listview和button都要改变Android原来控件的背景 ...

  8. 浅谈android的selector,背景选择器

    2019独角兽企业重金招聘Python工程师标准>>> 关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下andr ...

  9. android 动态修改 selector,Android Selector 按下修改背景和文本颜色的实现代码

    1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...

最新文章

  1. React 学习总结
  2. MapReduce工作流理解
  3. PHP发送数据到指定方法,php通过header发送自定义数据方法_php技巧
  4. Matplotlib课程–学习Python数据可视化
  5. .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录
  6. js控制分页打印、打印分页示例
  7. HTML的定义和特点,【HTML】复习笔记(一)初识HTML
  8. 国家开放大学2021春1076常微分方程题目
  9. python中软件包安装
  10. 在一个窗口显示多个视频子窗口
  11. 应届生软件测试个人简历模板,软件测试实习生个人简历模板.doc
  12. 相比于 Java 10 的 var, 更期待 Java 11 支持多行字符串
  13. Android封装拍照sdk,Android 短视频拍摄、拍照滤镜 第三方库SDK
  14. 建文高考成绩查询2021,建文外国语学校新书《高中阅读一卡通》出版
  15. 膨胀卷积(DILATED CONVOLUTIONS)
  16. cad页面布局快捷键_CAD页面设置管理器快捷键命令(如何设置页面布局)
  17. 7款漂亮的纯css字体样式
  18. HDU 4509 湫湫系列故事——减肥记II
  19. 【笑话】程序员的幽默,你可能看不懂 。。。
  20. 计算机二级乙等题目,2015年全国计算机等级考试一级WPS练习题及答案

热门文章

  1. 正则只能出现特定字符_python正则表达式的简单使用总结
  2. 安全模式 提权_记一次渗透挖洞提权实战
  3. c++中基类与派生类中隐含的this指针的分析
  4. 设置熄屏_刚买的手机微信收不到信息提醒耽误事情,手机到手一定要这样设置...
  5. oracle 数据库回闪,各种数据库闪回的总结
  6. 编程环境中Runtime(运行时)的三个含义
  7. dbgrideh 为什么只一行_Mysql性能优化:为什么count(*)这么慢?
  8. mysql 变量作表名查询_使用MySQL函数变量作为表名查询
  9. pythonwrite连续写入_python文件写入write()的操作
  10. 创造型模式——抽象工厂模式