1.Shape
在XML中使用Shape可以绘制各种不同的形状,,代码如下:
注意:在创建shape文件的时候要将工程切换到project模式下。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring">
<!--半径-->
<corners
android:radius="10dp"
android:topLeftRadius=""
android:topRightRadius=""
android:bottomLeftRadius=""
android:bottomRightRadius=""/>
<!--渐变-->
<gradient
android:angle=""
android:centerColor=""
android:centerX=""
android:centerY=""
android:endColor=""
android:startColor=""
android:type="["linear","sweep","radial"]"/>
<!--间距-->
<padding
android:left=""
android:right=""
android:top=""
android:bottom=""/>
<!--大小-->
<size
android:width=""
android:height=""/>
<!--填充颜色,实心-->
<solid
android:color=""/>
<!--描边-->
<stroke
android:width=""
android:color=""
android:dashGap="" //虚线间隔宽度
android:dashWidth=""/>//虚线宽度
</shape>
2.layer
layer主要用来实现图层的效果:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/ic_launcher"/>
<item
android:drawable="@drawable/ic_launcher1"
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp"/>
</layer-list>
通过layer或者是layer_list可以实现ps中的图层效果,图片会依次的的叠加。
3.Selector
Selector的作用在于帮助开发者实现静态绘图中的事件反馈,通过给不同的事件设置不同的图像,从而在程序中根据用户输入,返回不同的效果。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--默认的图片-->
<item android:drawable="" />
<!--没有焦点时的的背景图片-->
<item
android:drawable=""
android:state_window_focused="false"/>
<!--单击图片的时候背景图片-->
<item
android:drawable=""
android:state_pressed="true"/>
<!--选中那个图片时的的背景-->
<item
android:drawable=""
android:state_selected="true"/>
</selector>
selector可以制作view的触摸反馈。通过配置不同的触发事件,selector可以选择不同的图片,特别是在自定义图片的时候,我们就可以不使用原生的点击背景了,可以设置不同的点击背景颜色,给予用户点击反馈。
通常情况下,以上的几个xml用法是可以结合使用共同作用的。