在drawable文件下创建green_style.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/green"
android:tileMode="repeat">
</bitmap>
使用green_style
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/green_style"/>
显示效果:
扩展知识:
Bitmap,代表一个位图图像,Android支持三种格式的位图图像:.png、.jpg、.gif。
一般使用.png格式图片优先,.jpg格式也可以,但是效果没有.png好,.gif支持最差。
JPEG格式,不支持透明。
GIF被限制在256色因此对于大块纯色和简单图像非常好。它支持透明但是会产生锯齿边缘。
PNG .jpg和.gif的漂亮结合,具有.jpg图片的质量和.gif的透明度,而且没有锯齿。
我们需要关心的主要因素是:图片的大小、 图片的质量。。关于这两点它们之间的区别在于:
文件大小—这比较显著的区别。一般.png的大小是几百k,而.jpg只有小小的几十k。
颜色和对比度—.jpg的颜色更丰富,更饱和。 .png看起来则没有那么丰富。
根据不同的应用需求给出建议是:
使用JPG,如果你不需要保存图片的透明背景;
如果你的图片需要保存图像质量,色彩以及饱和度。
资源引用:
In Java: R.drawable.filename
In XML: @[package:]drawable/filename
XML Bitmap
一个XML bitmap是一个在XML文件中定义的指向一个bitmap文件的资源。其效果是作为一个原始位图文件的别名,并且可以指定一些额外的属性。
注意:你可以在<item>节点中使用<bitmap>作为它的子节点。比如,当你定义一个state list或者layer list的时候,可以包括一个android:drawable属性
Note: You can use a <bitmap> element as a child of an<item> element. Forexample, when creating astate list orlayer list,you can exclude the android:drawableattribute from an<item> element and nest a<bitmap> inside it that defines the drawable item.
文件bitmap.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@[package:]drawable/drawable_resource"
android:antialias=["true" | "false"]
android:dither=["true" | "false"]
android:filter=["true" | "false"]
android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
"fill_vertical" | "center_horizontal" | "fill_horizontal" |
"center" | "fill" | "clip_vertical" | "clip_horizontal"]
android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />
节点属性介绍:
xmlns:android类型:String。定义了XML的命名空间,必须是"http://schemas.android.com/apk/res/android"。如果<bitmap>是根元素,那么他是必须的,如果是嵌套在<itme>里面,那么就不是必须的。
android:src:Drawable resource,引用位图。
android:antialias:Boolean,是否开启抗锯齿。
android:dither:Boolean,如果位图与屏幕的像素配置不同时,是否允许抖动.(例如:一个位图的像素设置是 ARGB 8888,但屏幕的设置是RGB 565)。
android:filter:Boolean,是否允许对位图进行滤波。对位图进行收缩或者延展使用滤波可以获得平滑的外观效果。
android:gravity:定义位图的重力(gravity),如果位图小于其容器,使用重力指明在何处绘制必需是下面的属性,多个之间用 | 分隔。