在Android开发的过程中,我们常常须要对控件的样式做一下改变,能够通过用添加背景图片的方式进行改变,可是背景图片放多了肯定会使得APK文件变的非常大。

我们能够用自己定义属性shape来实现。

shape:

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

solid      --  填充。

stroke   --  描边。

corners  --  圆角。

padding   -- 定义内容离边界的距离。

我们先来看一下效果:

下边我们用详细的代码来演示一下:

首先,新建一个项目,然后我们在main.xml编辑:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="演示文本"
android:textSize="14pt"
android:textColor="#565656"
android:background="@drawable/bg_border"
/>
<!-- 通过android:drawableLeft绘制一张图片 -->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="演示文本2"
android:textSize="24pt"
android:background="@drawable/bg_border2"
/> </LinearLayout></span>

能够看到,在上边的两个TextView的android:background属性,用到了@drawable/bg_border和@drawable/bg_border2这两个文件

然后,我们在@drawable目录下边创建这两个Android xml文件:

bg_border.xml:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 填充:设置背景颜色 -->
<solid android:color="#ffffff"/>
<!-- 设置边框 -->
<stroke
android:width="5px"
android:color="#873600"
android:dashWidth="5dip"
/>
<!-- 定义内边距 -->
<padding
android:top="20dip"
/> </shape></span>

bg_border2.xml:

<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 指定圆角矩形的4个圆角的半径 -->
<corners android:topLeftRadius="20px"
android:topRightRadius="5px"
android:bottomRightRadius="20px"
android:bottomLeftRadius="5px"/>
<!-- 指定边框线条的宽度和颜色 -->
<stroke android:width="4px" android:color="#f0f" />
<!-- 指定使用渐变背景色,使用sweep类型的渐变
颜色从红色→绿色→蓝色 -->
<gradient android:startColor="#f00"
android:centerColor="#0f0"
android:endColor="#00f"
android:type="sweep"/>
</shape></span>

我们看下我们的project文件夹视图:

最新文章

  1. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
  2. Python小练习四
  3. 小记-虚拟机装ubuntu遇到问题
  4. Linux之Sed命令详解(总结一些实用例子)
  5. [Java] 使用Comparator排序对象
  6. SpringMVC记住密码功能
  7. Spring MVC RedirectAttributes的用法解决办法
  8. EntityFramework中出现DateTime2异常的完美解决办法
  9. IDEA + Maven + JavaWeb项目搭建
  10. JAVA设计模式---模板方法
  11. Redis入门到高可用(十四)—— bitmap
  12. UVa 122 Trees on the level(链式二叉树的建立和层次遍历)
  13. java写个自己的mvc框架学习笔记
  14. kibana对logstash监控获取不到数据
  15. iOS-图片浏览器
  16. Mongodb 分片操作 介绍
  17. MySQL从库com_insert无变化的原因
  18. 20155304田宜楠-第三次作业:虚拟机的安装与Linux学习
  19. struts的status属性
  20. 重载(Overload)

热门文章

  1. struts.xml中的intercepter
  2. Qt零基础教程(四)QWidget详解(3):QWidget的几何结构
  3. css margin collapse
  4. 用Guava辅助Throwable异常处理
  5. App Store自动下载WiFi与蜂窝数据切换机制
  6. Java学习----对象的状态和行为
  7. java获得url里面所带参数的值
  8. gulpfile的结构
  9. CodeForces 474B(标记用法)
  10. __file__ __name__ __doc__ argv详解