曾经看别人的程序的drawable目录里有xml资源,说实话第一次见到这种xml图像资源时,我真心不知道是干什么的。抽出时间学习了一下图像资源。才了解了这类图像资源的妙用。

以下我来分享一下这部分知识:

Android 中的图像资源文件保存在res/drawable文件夹中。

在图像资源文件夹中不仅能够存储各种格式(jpg,png,gif等)的图像文件,还能够使用各种XML格式的图像资源来控制图像的状态 和行为。

1、普通图像资源

Android支持3种图像格式:png、jpg和gif。

官方推荐使用png格式的图像资源,jpg也能够考虑使用。但gif格式的图像文件并不鼓舞使用,由于眼下Android SDK并不支持动画gif。

普通图像资源的使用比較简单,故在此我就只是多讲述。

本文主要还是讲述Android中XML图像资源。

2、XML图像资源

XML图像资源实际上就是在XML文件里指定drawable文件夹中的图像资源。XML图像资源使用<bitmap>标签定义。

以下举一例大家看一下:

在一个drawable目录下新建一个XML图像资源文件,文件名称bitmap_test.xml。代码例如以下:

<?xml version="1.0" encoding="utf-8"?

>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_launcher"
android:tileMode="mirror"
/>

以下看一下怎样怎么在java代码中引用这个XML图像资源文件。代码例如以下:

Resources res=getResources();
Drawable drawable=res.getDrawable(R.drawable.bitmap_test);
TextView txt=(TextView)findViewById(R.id.textView);
txt.setBackground(drawable);

当然。引用这个XML图像资源也能够依照在XML文件引用普通图像资源那样,引用该bitmap_test.xml图像资源,在此就不多说了。

2.1、图层(Layer)资源

图层资源有些类似于布局中的<FrameLayout>。所不同的是<FrameLayout>标签中能够包括随意的控件,而图层资源中的每一层仅仅能包括图像。

定义图层资源必须使用<layer-list>标签作为资源文件的根节点,<layer-list>标签中能够包括多个<item>标签,每个<item>标签表示一个图像,最后一个<item>标签会显示在最顶层。以下的代码使用<item>指定了一个图像。

<item android:drawable="@drawable/image">

默认情况下,图像会尽量充满显示图像的视图。因此。显示的图像可能会被拉伸。

为了避免图像拉伸,能够在<item>标签中使用<bitmap>标签引用图像。

以下来看一个图层资源的样例

图层资源文件layer_test.xml代码例如以下所看到的:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/qrcode"
android:gravity="center"/>
</item>
<item android:top="20dp" android:left="20dp">
<bitmap android:src="@drawable/desktoplog" android:gravity="center"/>
</item> </layer-list>

在XML布局文件里引用该图层资源,例如以下所看到的:

 <ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/layer_test"
/>

该图层资源案例的效果如图1-2所看到的:

图1-2图层资源案例演示效果

如无特殊情况建议使用图层来实现多个图像重合的效果。

因为时间的问题。Android资源之图像资源我就先说到这里。明天毕业答辩之后,再把剩余的内容补上。

转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/30789545

Android资源之图像资源(图层图像资源)的更多相关文章

  1. (转) OpenCV学习笔记大集锦 与 图像视觉博客资源2之MIT斯坦福CMU

          首页 视界智尚 算法技术 每日技术 来打我呀 注册     OpenCV学习笔记大集锦 整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的 ...

  2. Android开发人员必知的开发资源

    developer.android.com 官方开发人员网站推荐资源 在动手编写第一个 Android 应用之前,用心读一读 Android Design 章节.尤其是以下的这些文章: Devices ...

  3. android源码framework下添加新资源的方法

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/re ...

  4. Android学习15--使用(Drawable)资源

    1.图片资源 图片资源是最简单的Drawable资源.仅仅要把*.png.*.jpg*..gif等格式的图片放入/res/drawable-XXX文件夹下,Android SDK就会在编译应用自己主动 ...

  5. [Android]使用化名(alias)功能防止相同资源的重复

    在为一个应用匹配不同资源文件的时候,有时可能需要在不同适配类型的资源路径下使用相同的资源文件,这时使用alias方法可以防止相同资源文件的重复,提高效率.以下摘自Android开发文档http://d ...

  6. 深入探索Android热修复技术原理读书笔记 —— 资源热修复技术

    该系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 1 普遍的实现方式 Android资源的热修复,就 ...

  7. 使用KRPano资源分析工具分析动态网站资源

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  8. zzy:请求静态资源和请求动态资源, src再次请求服务器资源

    [总结可以发起请求的阶段:请求动态资源:通过web.xml匹配action然后,自定义Servlet处理该action1)form表单提交请求的时候,用action设定,该页面发起请求的Servlet ...

  9. redis来共享各个服务器的session,并同时通过redis来缓存一些常用的资源,加快用户获得请求资源的速度(转)

    时间过得真快,再次登录博客园来写博,才发现距离上次的写博时间已经过去了一个月了,虽然是因为自己找了实习,但这也说明自己对时间的掌控能力还是没那么的强,哈哈,看来还需不断的努力啊!(这里得特别说明一下本 ...

随机推荐

  1. 洛谷 P1000 超级玛丽游戏

    P1000 超级玛丽游戏 题目背景 本题是洛谷的试机题目,可以帮助了解洛谷的使用. 建议完成本题目后继续尝试P1001.P1008. 题目描述 超级玛丽是一个非常经典的游戏.请你用字符画的形式输出超级 ...

  2. Web应用开发(Servlet+html+Mysql)入门小示例

    在安装好eclipse并配置完安装环境.安装好tomcat的前提下: 1.新建Dynamic Web Project,选择好运行的tomcat服务器版本等:2.在WebContent下:   新建fo ...

  3. JAVE 视音频转码

    http://blog.csdn.net/qllinhongyu/article/details/29817297

  4. 【部分原创】python实现视频内的face swap(换脸)

    1.准备工作,按博主的环境为准 Python 3.5 Opencv 3 Tensorflow 1.3.1 Keras 2 cudnn和CUDA,如果你的GPU足够厉害并且支持的话,可以选择安装 那就先 ...

  5. 2015,我的投资理财策略(股权众筹+P2P网贷+活期理财)

    纸币流行,尤其是当今中国的市场经济,纸币几乎是一直是贬值的,每个人的财富都在被不断地稀释,可能是被政府.如果你不注意保值增值,你就越来越穷.     当年的万元户,在今天看来就是一个笑话,其实不怎么好 ...

  6. 在Java中,return null 是否安全, 为什么?

    Java代码中return value 为null 是不是在任何情况下都可以,为什么不会throw NullPointerException? Java语言层面:null值自身是不会引起任何问题的.它 ...

  7. Java FutureTask Example Program(Java FutureTask例子)

    Sometime back I wrote a post about Java Callable Future interfaces that we can use to get the concur ...

  8. Qt的焦点策略

    Qt的窗口部件在图形用户界面中按用户的习惯的方式来处理键盘焦点.基本出发点是用户的击键能定向到屏幕上窗口中的任何一个,和在窗口中任何一个部件中.当用户按下一个键,他们期望键盘焦点能够到达正确的位置,并 ...

  9. 对生产者和消费者问题的另一个解决办法是使用QWaitCondition(封装好了wakeOne,wakeAll,而且与QReadWriteLock对接,几乎是万能的办法)

    对生产者和消费者问题的另一个解决办法是使用QWaitCondition,它允许线程在一定条件下唤醒其他线程.其中wakeOne()函数在条件满足时随机唤醒一个等待线程,而wakeAll()函数则在条件 ...

  10. Springboot+shiro配置笔记+错误小结(转)

    软件152 尹以操 springboot不像springmvc,它没有xml配置文件,那该如何配置shiro呢,其实也不难,用java代码+注解来解决这个问题.仅以此篇记录我对shiro的学习,如有对 ...