1、图片资源

  图片资源是最简单的Drawable资源。仅仅要把*.png、*.jpg*、.gif等格式的图片放入/res/drawable-XXX文件夹下,Android SDK就会在编译应用自己主动载入该图片,并在R资源清单类中生成该资源的引用。

  Android不同意图片资源的文件名称中出现大写字母。且不能以数字开头。

  java中訪问资源:[.]R.drawable.

  XML中訪问资源:@[]drawable/file_name

  为了在程序中获得实际的Drawable对象,Resources提供了Drawable getDrawable(int id)方法,该方法跟据Drawable资源在R清单类中的ID获取实际的Drawable对象。

  2、StateListDrawable资源

  StateListDrawable用于组织多个Drawable对象。当使用StateListDrawable作为目标组件的背景、前景图片时,StateListDrawable对象所显示的Drawable对象会随目标组件形态的改变而自己主动切换。

  定义StateListDrawable对象的XML文件的根元素为,该元素可包括多个元素,该元素可指定例如以下属性:

  android:color或android:drawable:指定颜色或drawable对象

  android:state_xxx:指定一个特定状态

  3、LayerDrawable资源

  与StateListDrawable有点类似,LayerDrawable也能够包括一个Drawable数组,因此系统将会按这些Drawable对象的数组顺序来绘制它们,索引最大的Drawable对象将会被绘制在最上面。

  定义LayerDrawable对象的XML文件的根元素为,该元素能够包括多个元素,该元素可指定例如以下属性:

  android:drawable:指定作为LayerDrawable元素之中的一个的Drawable对象。

  android:id:为该Drawable对象指定一个标识

  android:buttom|top|button:它们用于指定一个长度值。用于指定将该Drawable对象绘制到目标组件的指定位置

  4、ShapeDrawable资源

  ShapeDrawable用于定义一个主要的几何图形(如矩形、圆形、线条等),定义ShapeDrawable的XML文件的根元素是元素,该元素可指定例如以下属性:

  android:shape=["rectangle"|"Oval"|"line"|"ring"]:指定定义哪种类型的几何图形

  5、ClipDrawable资源

  ClipDrawable代表从其他位图上截取的一个“图片片段”。

在XML文件里定义ClipDrawable对象使用元素。

  可指定例如以下三个属性:

  android:drawable:指定截取的源Drawable对象

  android:clipOrientation:指定截取方向,可设置水平截取或垂直截取

  android:gravity:指定截取时的对齐方式

  使用ClipDrawable对象可调用setLevel(int level)方法来设置截取的区域大小。当Level为0时。截取的图片片段为空。当Level为10000时。截取整张图片。

  6、AnimationDrawable资源

  AnimationDrawable代表一个动画。定义补间动画的XML资源文件以元素作为根元素。该元素内能够指定例如以下4个元素:

  alpha:设置透明度的改变

  scale:设置图片进行缩放改变

  translate:设置图片进行位移变换

  rotate:设置图片进行旋转

  定义动画的XML资源应该放在/res/anim路径下,当使用ADT创建一个Android应用时。默认不会包括该路径,开发人员须要自行创建该路径。

  定义补间动画的思路非常easy:设置一张图片的開始状态(包含透明度、位置、缩放比、旋转度)、并设置图片的结束状态(包含透明度、位置、缩放比、旋转度),再设置动画的持续时间。Android系统会使用动画效果把这张图片从開始状态变换到结束状态。

  在java代码中訪问动画资源文件:[.]R.anim.

  在XML文件里訪问动画资源文件:@[:]anim/file_name

  为了在java代码中获取实际的Animation对象,能够调用AnimationUtils的例如以下方法:loadAnimation(Context ctx,int resld)

Android学习15--使用(Drawable)资源的更多相关文章

  1. android中常见的Drawable资源有哪些?

    Drawable资源是安卓应用中最常见的一种资源,比如图片等,因此,对于初学者而言,必须掌握drawable资源相关应用. 今天在网上刚好看到了一篇介绍android Drawable资源的文章,分享 ...

  2. Android学习笔记之Drawable 文件夹

    PS:最近闲着无聊..模仿去写个QQapp..效果还不错..并且从中又学习到了一些相关的东西,在这里进行一些相关总结.. 学习内容: Android 中 Drawable 文件夹内部相关属性..   ...

  3. android学习笔记37——Menu资源

    Menu菜单资源 android应用推荐使用XML来定义菜单,其可提供更好的解耦方式. 菜单资源通常位于res/menu文件夹下,其菜单根元素为<menu.../>,menu元素下可包含子 ...

  4. android学习笔记35——AnimationDrawable资源

    AnimationDrawable资源 AnimationDrawable,代表一个动画. android既支持传统的逐帧动画(类似于电影方式,一张图片一张图片的切换),也支持通过平移.变换计算出来的 ...

  5. android学习笔记34——ClipDrawable资源

    ClipDrawable ClipDrawable代表从其他位图上截取一个“图片片段” 在XML文件中定义ClipDrawable对象使用<clip.../>元素,该元素的语法为: 以上语 ...

  6. Android学习15

    Date&Time DatePicker(日期选择器),TimePicker(时间选择器),CalendarView(日期视图): 1.TextClock TextClock可以以字符串格式显 ...

  7. Android 学习笔记多媒体技术之 Drawable类+Tween(补间动画)+Frame(帧动画)

    学习内容: 1.了解Drawable类的作用 2.如何使用Drawable... 3.了解Tween动画... 4.如何创建和使用Tween动画... 1.Drawable类...   Drawabl ...

  8. android学习笔记32——资源

    Android应用资源 资源分类: 1.无法直接访问的原生资源,保存于asset目录下 2.可通过R资源清单类访问的资源,保存于res目录下 资源的类型以及存储方式 android要求在res目录下用 ...

  9. 10、android学习资源整理

    1.github上整理好的开源工程 https://github.com/Trinea/android-open-project 2.最流行的android组件大全 http://colobu.com ...

随机推荐

  1. 各种字符编码方式详解及由来(ANSI,UNICODE,UTF-8,GB2312,GBK)

    一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! ...

  2. IOS 开发学习33 使用sqlite3

    sqlite3 命令行简单使用 sqlite3 路径 //打开数据库路径连接 select * from sqlite_master where type="table"; //显 ...

  3. 算法笔记_160:算法提高 约数个数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 输入一个正整数N (1 样例输入 12 样例输出 6 样例说明 12的约数包括:1,2,3,4,6,12.共6个 2 解决方案 具体代码如下: im ...

  4. vue vue-router 使用注意事项

    1.$router和$route区别 this.$router 访问路由器,实现路由的跳转等功能. this.$route 实现访问当前路由,$route.query (如果 URL 中有查询参数). ...

  5. mongodb的基本语法(一)

    一.数据库常用命令 1.Help查看命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2.切换 ...

  6. openssl 创建证书的总结和注意事项

    1.该文章从网上看了好多博客,并经过实践形成.环境为ubuntu12和ubuntu14 "========================================大纲提要和注意事项= ...

  7. hdu1010Tempter of the Bone(dfs+奇偶剪枝)

    题目链接:pid=1010">点击打开链接 题目描写叙述:给定一个迷宫,给一个起点和一个终点.问是否能恰好经过T步到达终点?每一个格子不能反复走 解题思路:dfs+剪枝 剪枝1:奇偶剪 ...

  8. window.print

    function contentPrint(contentArea) { var initBody = document.body.innerHTML; if ($("div"). ...

  9. bitnami-redmineserver迁移

    1. 背景 在Redmineserver迁移过程中.假设前后两个Redmine的版本号一样,事情就简单,假设版本号不一样,就有可能面临两个版本号数据库不兼容.那就比較麻烦了.本文旨在介绍数据库不兼容时 ...

  10. Bash中的括号(一)

    初学Bash脚本编程,里面的各种括号,绝对是一个大坑,为了救人救己,以防再度入坑,特记录如下: 一.单小括号: 1.创建子Shell.单个小括号用来创建一个子shell,子shell允许你在不影响当前 ...