Drawable的多样

6 篇文章 0 订阅
4 篇文章 0 订阅
Drawable主要用于ImageView的展示和View的背景。
主要用到的Drawable有下面几类:
  • BitmapDrawable:最简单的Drawable,表示一张图片。
  • ShapeDrawable:对应的xml的标签是
  • LayerDrawable:对应xml的标签是
  • StateListDrawable:对应标签是
  • LevelListDrawable:对应标签是,它表示一个Drawable集合,集合中每一个Drawable都有一个等级(level)概念。根据不同的等级,LevelListDrawable会切换为对应的Drawable,语法如下:
<?xml version="1.0" encoding="utf-8"?> 
<level-list 
    xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item 
        android:drawable="@drawable/drawable_resource"
        android:maxLevel="integer" 
        android:minLevel="integer" /> 
</level-list>
  • TransitionDrawable:对应标签,他用于两个Drawable之间的淡入淡出效果。语法如下:
<?xml version="1.0" encoding="utf-8"?> 
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/drawable1"/>
    <item android:drawable="@drawable/drawable2"/>
</transition>
接着将上面的语法设置为View的背景,也可以在ImageView中直接作为Drawable来使用。最后通过她的startTransition(1000)和reverseTransition()方法来实现谈入谈出的效果已经他的逆流程。
  • InsertDrawable:对应标签。他可以将其他Drawable内嵌到自己当中,并可以在四周留出一定的间距。语法如下:
<?xml version="1.0" encoding="utf-8"?> 
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetBottom="15dp"
    android:insetLeft="15dp"
    android:insetRight="15dp"
    android:insetTop="15dp">
        <shape android:shape="rectangle">
            <solid android:color="#ff0000"/>
        </shape>
</inset>
  • ScaleDrawable:对应标签。他可以根据自己的等级(level)将指定的Drawable缩放到一定的比例。语法在 android开发艺术 258页。
  • ClipDrawable:对应标签。它可以根据自己的等级(level)来裁剪另一个Drawable,裁剪的方向可以通过android:clipOrientation和android:gravity这两个属性来共通控制。语法在android开发艺术260页。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值