LayerDrawable,系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面

定义LayerDrawable对象的XML文件的根元素为<layer-list.../>,该元素可以包含多个<item.../>元素

下面是一个例子,定义一个seekbar和一个imageview

seekbar的效果是拖动的部分和背景部分是两个不同的图片构成

下面定制seekbar的外观,指定一个progressDrawable属性,该属性可改变seekbar的外观

在Res->drawable-mdpi文件夹下定义如下Drawable资源,my_bar.xml

[html] view plain copy print ?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <layer-listxmlns:android="http://schemas.android.com/apk/res/android">
  3. <!--定义轨道背景-->
  4. <itemandroid:id="@android:id/background"
  5. android:drawable="@drawable/grow"/>
  6. <!--定义轨道上已完成部分的外观-->
  7. <itemandroid:id="@android:id/progress"
  8. android:drawable="@drawable/ok"/>
  9. </layer-list>
再定义另一个资源文件,用来定义imageview的外观,layout_logo.xml

[html] view plain copy print ?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <layer-listxmlns:android="http://schemas.android.com/apk/res/android">
  3. <item>
  4. <bitmapandroid:src="@drawable/icon"android:gravity="center"/>
  5. </item>
  6. <itemandroid:top="25dp"android:left="25dp">
  7. <bitmapandroid:src="@drawable/icon"android:gravity="center"/>
  8. </item>
  9. <itemandroid:top="50dp"android:left="50dp">
  10. <bitmapandroid:src="@drawable/icon"android:gravity="center"/>
  11. </item>
  12. </layer-list>
下面是主界面main.xml

[html] view plain copy print ?
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical">
  6. <SeekBar
  7. android:id="@+id/seekBar1"
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:max="100"
  11. android:progressDrawable="@drawable/my_bar"
  12. style="@android:style/Widget.ProgressBar.Horizontal"
  13. />
  14. <ImageView
  15. android:id="@+id/imageView1"
  16. android:layout_width="wrap_content"
  17. android:layout_height="wrap_content"
  18. android:src="@drawable/layout_logo"/>
  19. </LinearLayout>
基本上,我们不费一行代码的功夫,就完成了如下的效果

更多相关文章

  1. Android自定义实现圆形播放进度条
  2. Android中关于自定义Dialog的使用简介
  3. 深入解析_Android的自定义布局
  4. Android 如何自定义一个简单的组件和自定义的点击事件(中级)
  5. Android 自定义View (入门 篇) 的使用
  6. Android自定义View的实现方法,带你一步步深入了解View(三) 。
  7. Android Camer2与Camera1 自定义相机拍照封装实例讲解
  8. Android 高手进阶,自定义圆形进度条
  9. 控件事件android中自定义控件

随机推荐

  1. android获取联系人所有内容
  2. Android(安卓)在线升级APK
  3. Android再按一次退出程序实现方法
  4. android studio 打包release出现的错误
  5. android 读取通讯录
  6. android Gallery做图片滚动,每次滑动翻一
  7. Android(安卓)布局学习
  8. Android(安卓)WebView学习
  9. 获取Android应用程序的签名
  10. Android(安卓)Dialog 创建上下文菜单