知识养成了思想,思想同时又在融化知识。这篇文章主要讲述Android-自己定义图像资源的使用相关的知识,希望能为你提供帮助。
Android-自己定义图像资源的使用
2014年4月28日 周一 天气晴朗 心情平静
本篇博文给大家介绍一下,在android开发中经经常使用到的一些图像资源,具体内容麻烦请各位认真查看官网。下面附上一个链接:http://developer.android.com/guide/topics/resources/drawable-resource.html,本篇博客主要给出使用演示样例,让童鞋们对这些图像资源有个直观的了解。代码资源:http://download.csdn.net/detail/wwj_748/7263481有兴趣的朋友能够加本人创建的群,里面有丰富的学习资源哦:299402133(移动开发狂热者群)
Android中有下面几种图像资源:
- 普通图像资源
- XML图像资源
- Nine-patch图像资源
- XML Nine-patch图像资源
- 图层(Layer)图像资源
- 图像状态(state)资源
- 图像级别(Level)资源
- 淡入淡出(transition)资源
- 嵌入(Inset)图像资源
- 剪切(Clip)图像资源
- 比例(Scale)图像资源
- 外形(Shape)图像资源
下面小巫花点时间逐个给大家介绍一下这些图像资源的用法:
普通图像资源的使用普通图像资源就仅仅是应用一张图片而已。不须要自己定义例如以下:/05_KindOfDrawableUse/res/layout/simple_res.xml
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > < ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="https://www.songbingjia.com/android/@drawable/logo" /> < /LinearLayout>
效果图:
文章图片
那张图片是小巫公司的logo。http://www.teamtopgame.com/。这是官网,喜欢玩网游的童鞋这个能够玩一下。
xml图像资源的使用这个图像资源是使用< bitmap> 标签的。这个标签下有非常多属性,例如以下:
< ?xml version="1.0" encoding="utf-8"?
> < bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="https://www.songbingjia.com/android/@[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"] />
这里我不会给大家一个个介绍是什么意思,希望童鞋们自己去官网查看。/05_KindOfDrawableUse/res/layout/xml_res.xml
< ?xml version="1.0" encoding="utf-8"?
> < bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="https://www.songbingjia.com/android/@drawable/logo" android:tileMode="repeat" > < /bitmap>
这里用到一张图片。设置平铺模式为反复:
文章图片
Nine-patch 图像资源的使用(重要).9图片老生常谈了,做Android开发的没用过这个工具那就太说只是去的,我们在应用开发其中。时刻须要对图片进行处理,为了让图片被拉伸的时候不会变形和扭曲,让图片边缘部分过渡得更加平滑自然。
这就是draw9patch.bat这个工具的作用。
D:\software\adt-bundle-windows-x86_64-20131030\sdk\tools
在SDK中的tools文件夹下,就有Android提供的各种工具,童鞋们自己学着去使用吧。这个工具的使用这里小巫就不解说了,须要学习的能够參考其它博主写的博文,百度、Google常伴你左右。/05_KindOfDrawableUse/res/layout/ninepatch_res.xml
< ?xml version="1.0" encoding="utf-8"?
> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > < ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/res" /> < ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/res" /> < ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/nine_patch" /> < /LinearLayout>
效果图例如以下:
文章图片
XML Nine-Patch 图像资源的使用 这个资源,小巫没怎么用过,具体用法:在drawable文件夹下,定义下面资源/05_KindOfDrawableUse/res/drawable/xml_ninepatch.xml
< ?xml version="1.0" encoding="utf-8"?
> < nine-patch xmlns:android="http://schemas.android.com/apk/res/android" android:dither="false" android:src="https://www.songbingjia.com/android/@drawable/nine_patch" > < /nine-patch>
这个资源的src是一张.9图片。不能使用普通的图片。不然会报错的哦。
在布局文件里使用:/05_KindOfDrawableUse/res/layout/xml_ninepatch_res.xml
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > < ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/xml_ninepatch" /> < /LinearLayout>
效果图例如以下:
文章图片
图层资源的使用图层资源非常easy理解。就相似FrameLayout,我们知道帧布局都是一层一层往上覆盖的。对吧。图层资源也是这样子滴。在drawable文件夹下,定义下面资源:/05_KindOfDrawableUse/res/drawable/layers.xml
< ?
【Android-自己定义图像资源的使用】xml version="1.0" encoding="utf-8"?> < layer-list xmlns:android="http://schemas.android.com/apk/res/android" > < item> < bitmap android:gravity="center" android:src="https://www.songbingjia.com/android/@drawable/logo" /> < /item> < item android:left="10dp" android:top="10dp"> < bitmap android:gravity="center" android:src="https://www.songbingjia.com/android/@drawable/logo" /> < /item> < item android:left="20dp" android:top="20dp"> < bitmap android:gravity="center" android:src="https://www.songbingjia.com/android/@drawable/logo" /> < /item> < /layer-list>
/05_KindOfDrawableUse/res/layout/layer_res.xml
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > < ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="https://www.songbingjia.com/android/@drawable/layers" /> < /LinearLayout>
效果图例如以下:
文章图片
本篇博客就介绍这几种图像资源。下篇博客继续介绍,不想让各位一口吃掉一个胖子。
推荐阅读
- Android 源代码解析 之 setContentView
- android内存泄露相关研究整体看
- Android——推断Service是否已经启动
- 我的Android进阶之旅------&gt;Android嵌入图像InsetDrawable的使用方法
- [Android]冷门常用 ADB
- VS2017 Cordova 出现错误 @ionic/app-scripts 未安装
- Android的静默安装
- 我是如何理解Android的Handler模型_2
- 出现Android.os.NetworkOnMainThreadException 错误