(1)在开发中,我们经常会遇到一些纯色或带边框的简单样式的按钮或div,很多时候,都是用九宫格的背景图片来贴上去。但仔细想来,使用图片也带来了一些性能上的问题,包括过多的图片文件会导致渲染页面的时候需要加载渲染很多图片,以及图片也会带来安装包的增加,最后就是用图片很麻烦的说,就如能够用xml文件配出来,就不用再等UED了。

(2)按钮文字颜色在不同的状态下也不一样,最开始比较傻,直接通过代码来动态改变,想想就恶心。其实这也是可以通过XML配置出来的。

好,下面就进入正题吧。

注:以下并不局限于按钮,照样可以用于各种view的background。

一)、配置按钮背景

Android能够支持shape、selector等。shape顾名思义就是定义一个形状,包括边框、填充色、圆角等。如下实例:

xmlns:android="http://schemas.android.com/apk/res/android"

android:shape="rectangle">

android:endColor="#80FF00FF"

android:angle="270" />

android:top="20dp" android:right="7dp"

android:bottom="7dp" />

android:color="#b4ffffff"

android:dashWidth="3.0dip"

android:dashGap="0.0dip" />

简单说明下:

gradient   -- 对应颜色渐变。 startcolor、endcolor就不多说了。 android:angle 是指从哪个角度开始变。

solid      --  填充色。

stroke   --  边框,其中width就是边框线的宽度。

corners  --  是否添加圆角,radius就是圆角的半径。

padding   -- 定义内容离边界的距离。 与android:padding_left、android:padding_right这些是一个道理。

细心的读者就会想到,这个shap好像只描述了一种状态啊,怎么表示按钮的其他状态呢?那就得用到selector了。

selector顾名思义表示选择器的意思,就是能够根据不同的状态选择响应的参数。好了,直接亮代码吧,多说无益:

效果就不再展示了,就是一个蓝色的按钮。

二)、配置按钮的颜色方案

我们经常会遇到常态是按钮背景是深的,按下去后是浅色背景,这时候就需要按钮文字颜色也能够随之改变,否则效果就大打折扣了。

肯定,你也会想到其实只要和selector配合使用就好了,如下:

使用的时候在android:textColor="@drawable/****"就好了。

好了,具体怎么灵活使用以及他们的含义就自己用实践去摸索吧。

android shape 按钮背景_Android UI:XML文件配置按钮等背景方案相关推荐

  1. Android UI:XML文件配置按钮等背景方案

    2019独角兽企业重金招聘Python工程师标准>>> (1)在开发中,我们经常会遇到一些纯色或带边框的简单样式的按钮或div,很多时候,都是用九宫格的背景图片来贴上去.但仔细想来, ...

  2. android shape 按钮背景_Android button, xml文件定义形状,代码中修改背景颜色

    1. 首先在drawable文件夹定义一个shape.xml文件,内容如下: xmlns:android="http://schemas.android.com/apk/res/androi ...

  3. android基础知识13:AndroidManifest.xml文件解析【转载】

    注:本文转载于:http://blog.csdn.NET/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...

  4. android id 重名_android 中Xml里面的id重名问题

    今天在做项目的时候,居然发现@+id 居然可以重名,而且 情况一:同个一个Xml文件中的同名 在同个一个Xml文件的中若同名了,则前一个有效,而后一个无效,即后一个Null掉.如: android:i ...

  5. IDEA去除xml文件的屎黄色背景

    IDea使用总结20篇博客 https://blog.csdn.net/libusi001/article/details/100070715 如何去除IDEA中xml文件的屎黄色背景 Setting ...

  6. AndroidManifest.xml文件配置教程及相关指令详解

    AndroidManifest.xml 是每个android程序中必须的文件,它位于整个项目的根目录.我们每天都在使用这个文件,往里面配置程序运行所必要的组件,权限,以及一些相关信息.但是对于这个文件 ...

  7. SpringSecurity使用 配置文件 和wen.xml 文件配置

    目录 1.web.xml 文件配置 2.spring-security  普通 为使用自己创建的认证类 1.web.xml 文件配置 !-- 配置SpringSecurity的拦截器 -->&l ...

  8. eclipse mysql Xml配置_mysql8.0在eclipse中通过xml文件配置数据库连接池

    mysql8.0在eclipse中通过xml文件配置数据库连接池 1.关于Mysql8.0 2.数据库连接池(DBCP) 3.准备工作 4.配置context.xml 5.配置web.xml 6.调用 ...

  9. java spring bean配置文件_Spring基于xml文件配置Bean过程详解

    这篇文章主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 通过全类名来配置: class:be ...

最新文章

  1. 修改mysql数据库编码
  2. 基于MATLAB的车牌定位和识别
  3. 使用 cout 输出数据之控制输出格式(一)
  4. unity透明通道加颜色_Unity-雪地效果的实现
  5. 随心测试_软测基础_004职责与质量
  6. Posted content length of 26789546 exceeds limit of 10485760
  7. 可能是史上最全的权限系统设计
  8. 模块“*.dll“已加载,但对DllRegisterServer的调用失败,错误代码0x8002801c
  9. 李想:“做正确的事,不做容易的事”
  10. 欲说还休,欲说还休,却道天凉好个秋
  11. 手机开热点免流教程(ROOT版)
  12. 【git】报错unsafe repository xxx is owned by someone else解决方法
  13. java listview用法_ListView的使用(一)
  14. 你的代码值多少钱 ?
  15. 《孙子兵法》十三篇注译(3--作战篇)
  16. Office2010:为什么我的PPT需要修复?
  17. 基于python将grd文件转成tif,并进行裁剪
  18. 如何解决ipad1升级没有响应的问题
  19. 荣誉时刻!金睛云华荣获腾讯数字安全创新大赛季军!
  20. 你用什么样的编程语言,决定你能拿多少钱

热门文章

  1. python抓取抖音用户画像,摩羯天蝎居然刷得最多?
  2. 关于微信小程序使用腾讯地理位置服务,线上版本无法生效的问题
  3. Vue学习笔记之03v-on事件监听
  4. git 添加用户名和邮箱_Git安装与基础使用
  5. html百度地图秘钥,如果获取百度地图API密钥?
  6. send/receive h264/aac file/data by rtp/rtsp over udp/tcp
  7. 必做作业3:原型化系统
  8. C#调用天气查询服务
  9. 6410裸机开发教程下载
  10. 断网问题解决【值得一记】