ITPub博客

首页 > 移动开发 > ANDROID > Android中使用Drawbl资源

Android中使用Drawbl资源

原创 ANDROID 作者:山有木xi 时间:2020-05-27 15:02:00 0 删除 编辑

Drawble是Android应用中使用最灵活,也是最广泛的资源,不仅可以直接使用".png",".jpg",".9.png"等图片做为资源,也可以直接使用多种XML文件作为资源。只要一份XML文件可以被系统编译成Drawble子类的对象,那么这份XML文件就可以作为Drawble资源

  • Drawble下图片资源

最简单的资源,吧 ".png",".jpg",".9.png"等格式放入/res/ drawble-xxx目录下,Android应用在编译应用时会自佛呢及时加载图片,并在R清单类中生成该资源的索引

  • Drawble下StateList Drawble资源

用于组织多个 Drawble对象。当使用 StateList Drawble 作为目标组件的背景,背景图片时, StateList Drawble 对象所心事的 Drawble对象会随着目标组件的改变而自动切换

运用场景:高亮显示文本框

<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 指定获得焦点时的颜色 -->
 <item android:state_focused="true"
    android:color="#f44"/>
 <!-- 指定失去焦点时的颜色 -->
 <item android:state_focused="false"
    android:color="#ccf"/>
</selector>
  • Drawble下Layer Drawble资源

StateList Drawble有点类似, Layer Drawble也可以包含一个 Drawble数组,因此字体将会按照这些 Drawble对象的数组顺序来绘制它们,索引最大的 Drawble对象将会被绘制在最上面

运用场景:定制拖动条外观

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <!-- 定义轨道的背景 -->
 <item android:id="@android:id/background"
    android:drawable="@drawable/grow" />
 <!-- 定义轨道上已完成部分的外观-->
 <item android:id="@android:id/progress"
    android:drawable="@drawable/ok" />
</layer-list>
  • Drawble Shape Drawble资源

用于定义一个基本的几何图形(例如:圆形,矩形,线性),定义 Shape Drawble的XML文件的跟元素的<shape...>

运用场景:椭圆形的文本框

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle">
 <!-- 设置填充颜色 -->
 <solid android:color="#fff"/>
 <!-- 设置四周的内边距 -->
 <padding android:left="7dp"
    android:top="7dp"
    android:right="7dp"
    android:bottom="7dp" />
 <!-- 设置边框 -->
 <stroke android:width="3dip" android:color="#ff0" />
</shape>
  • Drawble下Clip Drawble资源

代表从全位图上街区的一个图片的片段,在XML中使用<clip..>开头

运用场景:慢慢展开的风景

<?xml version="1.0" encoding="UTF-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
 android:drawable="@drawable/shuangta"
 android:clipOrientation="horizontal"
 android:gravity="center">
</clip>
  • Drawble Animation Drawble资源

代表一个动画,既支持传统的逐帧动画,也支持通过平移、变换计算出来的补间动画。

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:interpolator="@android:anim/linear_interpolator"
 android:duration="5000">
 <!-- 定义缩放变换 -->
 <scale android:fromXScale="1.0"
  android:toXScale="1.4"
  android:fromYScale="1.0"
  android:toYScale="0.6"
  android:pivotX="50%"
  android:pivotY="50%"
  android:fillAfter="true"
  android:duration="2000"/>
 <!-- 定义位移变换 -->
 <translate android:fromXDelta="10"
  android:toXDelta="130"
  android:fromYDelta="30"
  android:toYDelta="-80"
  android:duration="2000"/>
</set>


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69917874/viewspace-2694709/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 深入浅出——MVC
下一篇: Vue的计算属性
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    83
  • 访问量
    235194