Drawable资源类型详述 (2)

Drawable资源是一个很泛的概念,它是指可以被画到屏幕上的,可以通过getDrawable()获取,或者通过android:drawable引用到其它xml文件的资源,资源的类型有很多种:

Bitmap File: 一般是以.png, .jpg, .gif结尾的,可以创建一个BitmapDrawable对象。

Nine-Patch File: 是一个可以根据内容进行扩充的PNG资源,创建一个NinePatchDrawable对象。

Layer List: 管理一组drawable资源的xml文件,他们通过在数组中的顺序进行绘制,因此最大下标绘制在最上面,返回一个LayerDrawable对象。

State List: 一个包含不同状态的bitmap图形的xml文件,比如不同状态下的按钮图片,返回一个StateListDrawable对象。

Level List: 定义一组可供选择的Drawable的xml文件,返回LevelListDrawable对象。

还有Transition Drawable, Inset Drawable, Clip Drawable, Scale Drawable Shape Drawable。



    

可以看到每个xml文件都有很多的属性值可以设置,用举例的形式为每个drawable举个例子。

更多灵活的使用,以及其它的炫酷的效果需要更多的实践。

源码在appresources目录里面。

这些都是可以定义成xml格式,在代码中返回类似InsetDrawable, ClipDrawable, ScaleDrawable, ShapeShape的对象,从而调用setBackground进行设置。

本例子中使用了DrawerLayout进行布局,这种布局的好处就是将所有的drawable可以由列表的形式显示出来,选择相应的一个layout就会有相关的图像显示。

Drawable资源类型详述 (2)_第1张图片

上图是使用Shape新建一个矩形,xml文件如下所示:



    
    
    

 

你可能感兴趣的:(安卓开发指南)