实现思路
我希望通过layer-list
中添加两个item
,并旋转45度,形成一个直角箭头的形状。
学习Layer List
图层列表
首先学习layer-list的用法,根据Layer List的官方指南,知道<layer-list>
是根元素,其中<item>
是子元素。绘制的逻辑是:
列表中的每个可绘制对象按照列表的顺序绘制,列表中的最后一个可绘制对象绘于顶部。每个可绘制对象由单一
<layer-list>
元素内的<item>
元素表示 。
<item>
的说明和属性也可以在指南中查阅,其中需要理解的一句话:
默认情况下,所有可绘制项都会缩放以适应包括视图的大小。因此,将图像放在图层列表中的不同位置可能会增大视图的大小,并且有些图像会相应地缩放。
指南中提到避免缩放的方法,用<bitmap>
+对不需要缩放的项目(例如"center"
)定义重力。
学习Shape Drawable
形状可绘制对象
官方指南Shape Drawable,可以查阅到<shape>
这个元素的各种属性。
学习Animation Resources
中的<rotate>
元素
官方指南Tween animation中可以查阅<rotate>
的属性。
实现
我现在实现一个黑色的向右的箭头
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<