在开发中总会须要自己定义各种View的样式,假设总是依赖美工作图弄出须要的UI样式图片(比方:一个button要选中和默认两张图片),不但时间上会浪费、往往也会有适配问题。

尽管能够通过.9图来解决一些适配问题。依旧要花不少时间,毕竟美工通常不懂.9图的制作(得自己动手)。所以有时能够通过简单的创建android XML的方式制作须要的View的UI样式(不但快捷,更不会有适配问题)。


下面XML代码创建了一个4dip圆角带2px边框的样式(start_use_btn_selector.xml)。

(带有点击、选中、默认三总状态)

<?xml version="1.0" encoding="utf-8"?

>

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

    <item android:state_selected = "true"><!--
选中状态 -->

        <shape android:shape="rectangle"><!--
图形形状 rectangle为矩形、oval为椭圆、line为线、ring为环形 -->

            <corners android:radius="4dip"/><!--
四周圆角,也能够单独设置某一个角为圆角 如:设置topLeftRadius -->

            <solid android:color="#33ffffff"/><!--
中心填充色 -->

            <stroke android:width="2.0px" android:color="#ffffffff"/><!--
边框线宽度和颜色设置 -->

        </shape>

    </item>

    <item android:state_pressed="true"><!--
点击状态 -->

        <shape android:shape="rectangle">

            <corners android:radius="4dip"/>

            <solid android:color="#33ffffff"/>

            <stroke android:width="2.0px" android:color="#ffffffff"/>

        </shape>

    </item>

    <item><!--
默认状态 -->

        <shape android:shape="rectangle">

            <corners android:radius="4dip"/>

            <solid android:color="#00ffffff"/>

            <stroke android:width="2.0px" android:color="#ffffffff"/>

        </shape>

    </item>



</selector>


在layout中使用
<Button

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:background="@drawable/start_use_btn_selector"

    android:includeFontPadding="false"

    android:paddingBottom="2dip"

    android:paddingLeft="28dip"

    android:paddingRight="28dip"

    android:paddingTop="2dip"

    android:text="立即体验"

    android:textColor="#FFFFFFFF"

    android:textSize="20sp" />

效果图(背景绿色是总体layout颜色)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluc2VuNjE4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">



通过android XML 创建图形,降低对美工的依赖的更多相关文章

  1. Android xml 绘制图形

    一般用shape定义的xml文件存放在drawable目录下,若项目没有该目录则新建一个,而不要将它放到drawable-hdpi等目录中. 使用shape可以自定义形状,可以定义下面四种类型的形状, ...

  2. Android:创建可穿戴应用 - 安装和依赖管理

    安装可穿戴应用 在开发时,你能够像一般移动应用一样直接把应用安装到可穿戴设备中. 使用adb install或者 Android Studio上的Play button. 当你准备好要公布时,你须要把 ...

  3. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  4. Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  5. Android 数据库管理— — —创建数据库

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  6. android XMl 解析神奇xstream 六: 把集合list 转化为 XML文档

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  7. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  8. android 自己创建一个凝视模板

    android  自己创建一个凝视模板 作为一名程序猿 不仅要有一个写代码的能力,养成一个良好的编写习惯也是非常重要的. 今天给大家具体介绍一下怎样创建凝视模板,给每一个类和方法都自己手动去凝视信息也 ...

  9. Android Studio创建JAR/AAR库

    [时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,jar,aar,library] 0 引言 最近在工作中遇到了升级Android S ...

随机推荐

  1. 手机信号强度单位:dBm 和 asu

    介绍 首先明确:dBm 和 asu 是两个独立的单位,它们的换算关系不唯一. 在 2G 网络下:dBm = -113+2*asu在 4G 网络下:dBm = -140+asu dBm 和 asu 都用 ...

  2. seq2seq(1)- EncoderDecoder架构

    零 seq2seq是从序列到序列的学习过程,最重要的是输入序列和输出序列是可变长的,这种方式就非常灵活了,典型的机器翻译就是这样一个过程. 一 最基本的seq2seq网络架构如下所示: 可以看到,en ...

  3. cc.Node—坐标系统

    cc.Vec21: cc.Vec2 二维向量坐标, 表结构{x: 120, y: 120}; cc.v2(x, y) 创建一个二维向量 cc.p() 创建一个二外向量;2: cc.pSub: 向量相减 ...

  4. C#语言中循环分类总结

    C#语言中,循环主要分为4种,分别是:while循环.do while循环.for循环.foeach循环.下面我将分类对循环语句总结. 1.while循环: 如果循环条件为真,则执行循环体:执行完循环 ...

  5. spring Boot 不认Mapper.xml

    很久以前的笔记了,大约就是用Generatro工具自动生成代码的时候,springboot找不到mapper.xml 之前,由于用mybatis-generator自动生成了entity,dao,ma ...

  6. Windows——bat中的路径和工具栏运行bat的坑

    工具栏添加的批处理环境 编写一个简单的批处理文件 set testEnv = %cd% pause 这里第一句:设置当前文件夹路径为环境变量testEnv的值 这里第二句:暂停命令窗口 第一次我们直接 ...

  7. Linux内核0.11体系结构 ——《Linux内核完全注释》笔记打卡

    0 总体介绍 一个完整的操作系统主要由4部分组成:硬件.操作系统内核.操作系统服务和用户应用程序,如图0.1所示.操作系统内核程序主要用于对硬件资源的抽象和访问调度. 图0.1 操作系统组成部分 内核 ...

  8. Auto-Encoders实战

    目录 Outline Auto-Encoder 创建编解码器 训练 Outline Auto-Encoder Variational Auto-Encoders Auto-Encoder 创建编解码器 ...

  9. 选项B中:int b[][3]={0,1,2,3}

    选项B中:int b[][3]={0,1,2,3};等价于 int b[][3]={0,1,2,3,0,0};    int b[][3]={0,1,2,3,4};         cout<& ...

  10. Python中的列表(2)

    一.从列表中删除元素 使用del 语句删除. books = ['Pride and Prejudice','Jane Eyre','The Catcher in the Rye'] print(bo ...