有些简单的图形完全可以用代码实现,减少了程序大小也提高了运行效率,layer-list实现布局和RelativeLayout相似,一层一层往上放,最后的item节点放置在最上面。
新建layer-list和新建drawable资源中的shape一样,将标签select换成layer-list即可。
一、实现同心圆
外面一个环型里面一个圆形搞定。
效果图:
[HTML] 纯文本查看 复制代码
<shape
android:innerRadius="30dp"
android:shape="ring"
android:thickness="2dp"
android:useLevel="false">
</shape
<item
android:bottom="30dp"
android:left="30dp"
android:right="30dp"
android:top="30dp">
<size
android:width="30dp"
android:height="30dp" />
</size
</item
也可以外面一个圆加个边框,里面一个小圆,外圆设置成透明颜色的话和上图是一样的效果。
效果图:
[HTML] 纯文本查看 复制代码 <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:dither="true"
android:shape="oval">
<solid android:color="@color/red" />
<stroke
android:color="@color/theme"
android:width="1dp" />
</shape>
</item>
<item
android:bottom="20dp"
android:left="20dp"
android:right="20dp"
android:top="20dp" >
<shape
android:shape="oval" >
<solid android:color="@color/theme" />
<size
android:width="30dp"
android:height="30dp" />
</shape >
</item >
</layer-list>
调用资源文件直接
xml:
android:background="@drawable/name"
selector:
android:drawable="@drawable/name"
加阴影效果等,可以用在RadioButton的选中和未选中状态,导航栏选中等也是同样的道理,自己多多体会吧。
|