美文网首页
Android——XML中的Bitmap

Android——XML中的Bitmap

作者: CoorChice | 来源:发表于2016-10-27 12:32 被阅读817次

个人博客CoorChice,https://chenbingx.github.io/ ,最新文章将会首发CoorChice的博客,欢迎探索哦 !
同时,搜索微信公众号CoorChice,或扫描文章末尾二维码,可以关注我的微信公众号。同期文章也将会优先推送到微信公众号中,以提醒您有新鲜文章出炉。

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

格式: @[package:]drawable/filename
<ImageView
  android: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"?>
<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: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" />
效果图: 效果图 CoorChice的公众号

相关文章

网友评论

      本文标题:Android——XML中的Bitmap

      本文链接:https://www.haomeiwen.com/subject/joojuttx.html