Android控件美化Shape你会用吗?   -- 未审核
编辑文档
 如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。
  我们就以目前系统的Button的selector为例说下:
          <shape>
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。
 对于一个Button完整的定义可以为
  <?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <gradient
                android:startColor="#ff8c00"
                android:endColor="#FFFFFF"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item android:state_focused="true" >
        <shape>
            <gradient
                android:startColor="#ffc2b7"
                android:endColor="#ffc2b7"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#dcdcdc" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
    <item>       
        <shape>
            <gradient
                android:startColor="#ff9d77"
                android:endColor="#ff9d77"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="#fad3cf" />
            <corners
                android:radius="2dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>
注意Android123提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。

转载于:https://blog.51cto.com/zhaohaiyang/516993

Android控件美化Shape相关推荐

  1. Android美化插件,Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档 如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android12 ...

  2. android 控件美化,Android UI 美化

    一.自定义RatingBar的样式: 1.在drawable文件夹下创建根节点为的文件写三个节点,代码如下:` android:drawable="@drawable/unselect&qu ...

  3. android 代码 shape,Android Shape控件美化实现代码

    如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的 ...

  4. Android 控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

    Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现 关注finddreams:http://blog.csdn.net/finddreams/articl ...

  5. Android 控件 RecyclerView 看这篇就够了

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  6. Android 控件 RecyclerView

    [Android 控件 RecyclerView] 概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传 ...

  7. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  8. 【079】用代码来创建 Android 控件

    一般来说我们在创建控件的时候都是在 XML 文件中完成的, 实施起来还是蛮方便的, 而且修改起来也可以很快的看见效果, 但是有一个很大的劣势就是没办法动态的创建控件, 举个例子, 例如我从数据库中取出 ...

  9. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

最新文章

  1. java基础-数据类型
  2. python 反爬取数据
  3. Lightoj 1231 - Coin Change (I) (裸裸的多重背包)
  4. 解读:大数据在电信行业的五大应用
  5. CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!
  6. matlab 凹盘,刹车盘凹槽是怎么形成的
  7. 两节点的最小公共祖先LCA
  8. React开发(255):react项目理解 ant design 注意报错提示
  9. python 人脸检测_借助摄像头在Python中实现人脸检测
  10. Collections.unmodifiableCollection
  11. “移”网打尽:网络即服务
  12. 证券公司财务帐单分析报告自动生成系统
  13. android判断循环,android kotlin学习之路 kotlin中的分支判断与循环判断(2)
  14. java烟花代码_java代码放烟花
  15. DBLE分库分表中间件
  16. 第一次安卓作业笔记:一个星座查询app
  17. CVTE实习应聘经验
  18. React Native入门——布局实践:开发京东客户端首页(一)
  19. 正睿OIday8-day10
  20. Unity3d——4种灯光的简介

热门文章

  1. ios5 中文键盘高度变高覆盖现有ui问题的解决方案(获取键盘高度的方法)
  2. 聊聊spring cloud的LoadBalancerAutoConfiguration
  3. A*寻路算法的探寻与改良(三)
  4. 重启服务才可连接BOOT服务器
  5. jQuery框架学习第二天:jQuery中万能的选择器
  6. Slackware中文帮助文档(前言)
  7. Visual Studio 各个版本下载地址
  8. poj——2771 Guardian of Decency
  9. PHP设计模式——抽象工厂模式
  10. 支持向量机原理(五)线性支持回归