美文网首页
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