Android-自己定义图像资源的使用(1)

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="@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="@[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="@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="@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

<?

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="@drawable/logo" />
    </item>
    <item
        android:left="10dp"
        android:top="10dp">
        <bitmap
            android:gravity="center"
            android:src="@drawable/logo" />
    </item>
    <item
        android:left="20dp"
        android:top="20dp">
        <bitmap
            android:gravity="center"
            android:src="@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="@drawable/layers" />

</LinearLayout>

效果图例如以下:

本篇博客就介绍这几种图像资源。下篇博客继续介绍,不想让各位一口吃掉一个胖子。

时间: 06-26

Android-自己定义图像资源的使用(1)的相关文章

Android-自定义图像资源的使用(1)

Android-自定义图像资源的使用 2014年4月28日 周一 天气晴朗 心情平静 本篇博文给大家介绍一下,在Android开发中经常用到的一些图像资源,详细内容麻烦请各位认真查看官网,下面附上一个链接:http://developer.android.com/guide/topics/resources/drawable-resource.html,本篇博客主要给出使用示例,让童鞋们对这些图像资源有个直观的了解. 代码资源:http://download.csdn.net/detail/ww

Android-自定义图像资源的使用(2)

Android-自定义图像资源的使用 2014年4月29日 上一篇博客,介绍前面几种图像资源的使用,本篇博客把剩下的全部介绍完: 普通图像资源 XML图像资源 Nine-patch图像资源 XML Nine-patch图像资源 图层(Layer)图像资源 图像状态(state)资源 图像级别(Level)资源 淡入淡出(transition)资源 嵌入(Inset)图像资源 剪切(Clip)图像资源 比例(Scale)图像资源 外形(Shape)图像资源 代码资源:http://download

Android资源之图像资源(1)

以前看别人的程序的drawable文件夹里有xml资源,说实话第一次见到这样的xml图像资源时,我真心不知道是干什么的.抽空学习了一下图像资源,才了解了这类图像资源的妙用.下面我来分享一下这部分知识: Android 中的图像资源文件保存在res/drawable目录中.在图像资源目录中不仅可以存储各种格式(jpg,png,gif等)的图像文件,还可以使用各种XML格式的图像资源来控制图像的状态 和行为. 1.普通图像资源 Android支持3种图像格式:png.jpg和gif.官方推荐使用pn

Android资源之图像资源(图像级别资源)

图像状态资源只能定义有限的几种状态.如果需要更多的状态,就要使用图像级别资源.在该资源文件中可以定义任意多个图像级别.每个图像级别是一个整数区间,可以通过ImageView.setImageLevel或Drawable.setLevel方法切换不同状态的图像. 图像级别资源是XML格式的文件,必须将<level-list>标签作为XML的根节点.<level-list>标签中可以有任意多个<item>标签,每一个<item>标签表示一个级别区间.级别区间用a

Android资源之图像资源(状态图像资源)

在上一篇博文中.我主要解说了XML图像资源中的图层资源,在此图像资源博文中我会给大家陆续解说XMl图像资源的图像状态资源.图像级别资源.淡入淡出资源.嵌入图像资源.剪切图像资源和外形资源. 1.图像状态资源: Android SDK提供的Button控件默认样式显得有些单调.并且这样的样式与炫丽的界面搭配在一起极不协调.当然.我们能够使用ImageView或ImgaeButton控件配合不同状态的图像做出非常酷的button,这里我给出用java代码实现button按下与正常状态的特效: btn

Android资源之图像资源(淡入淡出、嵌入)

今天把图像资源剩余的几个知识梳理一下.淡入淡出资源同图像状态和图像级别资源一样可以切换两个图像(目前只支持两个图像的切换),并且使这两个图像以淡入淡出效果进行切换.如上一篇博文介绍的开关电灯一样,如果加上淡入淡出效果会更好. 下面在res/drawable目录中建立一个cross_fade.xml文件,该文件内容如下: <?xml version="1.0" encoding="UTF-8"?> <!-- transition标签中只能有两个ite

Android自己定义控件而且使其能够在xml中自己定义属性

为什么要自己定义View android开发中自己定义View的优点是显而易见的.比方说以下的这个顶部导航,它被设计出如今应用的每一个界面,但每次的内容却不尽同样.我们不能在每一个layout资源中都配置一组同样的View吧?假设使用<include layou="@layout/xxx"/>标签,尽管攻克了布局文件的重用性,可是相关View的初始化设置还是没可以重用(集中),须要每次都採用view.findViewById(id)来初始化他们. 有了对"可重用性

Andriod界面设计适配和Android Studio中的资源

Android的碎片化已经被喷了好多年,随着国内手机厂商的崛起,碎片化也越来越严重,根据OpenSignal的最新调查,2014年市面上有18796种不同的Android设备,作为开发者,一个无法回避的难题就是需要适配各种各样奇奇怪怪的机型. 设备机型不同必然也会导致屏幕大小和分辨率(Resolution)的不同,但是无论分辨率有多大,屏幕有多大,我们手指触控范围的大小不会发生变化,所以最优的适配方式应该是指定大小的控件在所有的设备上的显示都一样. Android的官方文档对此也有明确的说明 W

Android UI-自定义日历控件

Android UI-自定义日历控件 本篇博客笔者给大家分享一个日历控件,这里有个需求:要求显示当前月的日期,左右可以切换月份来查看日期. 我们想一想会如何去实现这样的一个控件,有开源的,但可能不太满足我们的特定的需求,这里笔者自定义了一个,读者可以根据自己的需求来修改代码.下面来说一下实现的思路: 首先我们要显示当前月份,自然我们要计算出当前的日期,并且把每一天对应到具体的星期,我们会有以下效果: 我们先想一下这样的效果用什么控件可以实现?很自然可以想到用网格视图GridView,但这里笔者使