android 的样式主要则是通过 shape、selector、layer-list、level-list、style、theme、layer、bitmap 等组合实现
这篇文章主要介绍最基础的形状定义工具shape
1.Android develelopers官方解释
Defines a generic graphical “shape.”
Any Shape can be drawn to a Canvas with its own draw() method, but more graphical control is available if you instead pass it to a ShapeDrawable.
Custom Shape classes must implement clone() and return an instance of the custom Shape class.
翻译:定义通用图形“形状”。
任何形状都可以通过它自己的draw()方法绘制到画布上,但如果你把它传递给一个ShapeDrawable,就可以使用更多的图形控件。
自定义Shape类必须实现clone()并返回自定义Shape类的一个实例。
2.定义与使用shape
2.1定义shape
定义Shape需要在res/drawable/目录下建一个XML资源文件
2.2使用shape
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape"
android:src="@drawable/shape"/>
一般通过设置background和src依靠layout布局中控件进行引用,把定义好的Shape设置为背景。因为APP界面中的元素,都是通过控件进行展示的,形状也是一种绘图元素,必须依附于控件。
3.Shape一共支持四种形状
①line : 线形,可以画实线或者虚线
②oval : 椭圆形,可以画正圆或者椭圆
③rectangle : 矩形,默认的形状,可以画出直角矩形、圆角矩形、弧形等
④ring : 环形,可以画环形进度条
4.属性介绍
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@