在xml中的drawable/目录下可以创建Bitmap资源,这样可以将一张图片直接转换成bitmap,并给它设置一些属性,它指向一个BitmapDrawable对象。

调用方法

在xml中:

格式:@[package:]drawable/filenameandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:src="@drawable/bitmap"/>

在Java中:

格式:R.drawable.filenameResources res =getResources();Drawable drawable = res.getDrawable(R.drawable.bitmap);

语法

<?xml version="1.0" encoding="utf-8"?>"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:mipMap=["true" | "false"]    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />

常用的9个属性:

属性 作用
src 在这里引用图片资源
antialias 开启或关闭抗锯齿
dither 开启或关闭图像抖动。当使用图片的dpi和屏幕不匹配时,开启图像抖动可以获得更好的显示效果
filter 开启或关闭滤镜。当需要对图片进行缩放操作时,开启滤镜可以使图片更加平滑
tiltMode 贴图模式。详细见下文。该属性与gravity是互斥的。
gravity 重心。详细见下文。该属性与tileMode是互斥的。
tint 设置着色。有种盖一个色层在图片上的感觉。
tintMode 设置着色模式。详细见下文。
mipMap 是否将图片标记为mipmap,使用mipmap能够提高显示性能,默认为false

android:tileMode属性

贴图模式有以下几种:

效果
clamp 当图片>容器时,图片多余的部分会被截去;当图片<容器时,会复制图片的边缘部分填充空白
disable 图片会根据容器大小进行缩放。这是默认值
repeat 图片会重复填充满容器。但是当图片>容器时,多余部分会被截去
mirror 图片会以镜像重复的形式填满容器。同样,当图片>容器时,多余部分会被截去

android:gravity属性

当图片<容器时,重心决定了它在容器中的位置。
重心有以下几种:

效果
top 顶部
bottom 底部
left 左边
right 右边
center 中心
center_vertical 垂直中心
center_horizontal 水平中心
fill 充满容器,和tileMode=”disable”是一个效果
fill_vertical 充满垂直方向
fill_horizontal 充满水平方向
clip_vertical 搞不懂是什么鬼?求大神解答
clip_horizontal 搞不懂是什么鬼?求大神解答

android:tintMode属性

着色模式有以下几种:

效果
add
src_in
src_over
src_atop 以上几种全把图片给遮住了,看不出有什么差别。求指导!
mutiply 着色与透明度相结合,相当于在图片上盖了一层不是很深的颜色
screen 同上,但是颜色会更浅

一个例子

<?xml version="1.0" encoding="utf-8"?><bitmap xmlns:android="http://schemas.android.com/apk/res/android"    android:alpha="1"    android:antialias="true"    android:dither="true"    android:filter="true"    android:gravity="clip_vertical"    android:src="@drawable/share"    android:tint="#fc747e"    android:tintMode="multiply" />

效果图:
Android——XML中的Bitmap资源_第1张图片

更多相关文章

  1. android 5.0新特性学习--Drawable Tinting(为图片资源着色)
  2. android中Matrix之一(图片二维转动)
  3. Android ListView几个特别的属性
  4. Android 属性动画的原理分析
  5. android(drawable文件夹)图片适配
  6. 关于android示例程序(bitmapfun)——高效加载图片的坑爹地方
  7. Android控件布局属性全解
  8. android强大的图片下载和缓存库Picasso

随机推荐

  1. Android开发之EditText多行文本输入
  2. android文件存储初识
  3. Android7.0下调用相机闪退的解决方案
  4. 关于android 4.4 以上写入外部存储卡
  5. Android(安卓)如何远端调试framework和AP
  6. Android:java.lang.OutOfMemoryError: Fa
  7. android servicemanager与binder源码分析
  8. Android性能优化之一:ViewStub
  9. 基于Eclipse的Android JNI层测试应用开发
  10. (转)Android(安卓)Contacts(二)—— SMS 短