Android 资源文件--基础知识第一炮(转载)

资源文件夹

res/anim/

XML文件,被编译进逐帧动画或补间动画对象

res/drawable

位图文件、Nine-Patch,使用context.getResources().getDrawable(intid)取得

res/layout

XML文件,被编译成屏幕布局

res/values

可以被编译成多种类型的XML文件(array.xml、colors.xml、strings.xml、styles.xml、dimens.xml)

res/xml

任意的XML文件,运行时调用getResources().getXml(intid)读取

res/raw

直接复制到设备中的任意文件,无需编译,要使用这些资源,调用getResources.openRawResource(int id)

res/assets

也可以当值任意文件,使用Activity.this.getAssets().open("xxx.txt");打开


Drawable资源

Color

描述:

-- 定义在XML中的Color,有两种类型,一种节点名为<drawable>,当做Drawable使用,可以填充组件颜色(即给View设置背景色),另一种节点名是<color>,是颜色字符串值

-- ColorDrawable是一种简单的资源,可以在XML中的<resources>元素下添加多个ColorDrawable,使用name属性引用其值(不再使用文件名),其值可以是任何有效的十六进制颜色值或Color资源

-- Color值总以“#”开头,格式为:#RGB、#ARGB、#RRGGBB、#AARRGGBB(A表示Alpha,透明度)

位置:

res/drawable/xxx.xml

引用:

Java:R.drawabale.solid_red(R.drawable.white)

XML:@[package:]drawable/solid_red(@[package:]drawable/white)

示例:






 

Bitmap File

描述:

-- 基本的Bitmap图像,支持的格式有:PNG(最佳)、JPG(可接受)、GIF

-- Bitmap文件可能会被aapt工具进行无损压缩优化,在保证图像质量不变的情况下减少内存占用,存放在此文件夹下的二进制图像在编译时可能发生变更,如果打算以位流的方式读取图像来转化成Bitmap,将其放到res/raw下,在这里它们不会被优化

位置:

res/drawable/xxx.png(文件名当做资源ID使用)

引用:

Java:R.drawable.xxx

XML:@[package:]drawable/xxx


 

Nine-patch File

描述:

v 一种可以拉伸的PNG图像

v 典型的应用就是将此图像设为View的背景,该View至少有一个尺寸设为“wrap_content”,Nine-Patch图像会随View的大小自动伸缩进行匹配(ImageView的src则不能随View变化,按其自身大小显示部分或全部)

位置:

res/drawable/xxx.9.png(文件名当做资源ID使用)

引用:

Java:R.drawable.xxx

XML:@[package:]drawable/xxx

 

State List

描述:

-- StateListDrawable是定义在XML中的Drawable对象,根据状态呈现不同图像

-- 在XML中描述状态,<Selector>为根元素,其下可以包含一个或多个<item>元素

-- 每次状态改变时,StateList都会从上至下遍历XML文件,第一个匹配(非最佳匹配)当前状态的item将被使用,所以,<item>的位置是不可改变的,默认状态总在最后

位置:

res/drawable/xxx.xml(文件名当做资源ID使用)

引用:

Java:R.drawable.xxx

XML:@[package:]drawable/xxx

注:(如果使用android:src属性要同时将背景颜色设为透明,或者直接使用android:background指向该资源文件)

android:background="#00000000"且android:src="@drawable/xxx"或

android:background="@drawable/xxx"都可以实现该效果

示例:

<selector>的一些其他属性:

-- android:constantSize:随状态变化,Drawable大小是否保持不变(所有状态的最大Size),默认为false

-- android:dither:当Bitmap和屏幕不是相同的像素设定时是否支持Bitmap抖动,默认true

-- android:variablePadding:Drawable的Padding是否可以变化,需要在状态变化时处理Layout,一般不支持,默认false

<item>的一些其他属性:(true表示在该状态下使用,false表示在非该状态下使用)

-- android:state_selected:选中状态

-- android:state_checkable:可选状态

-- android:state_checked:已选状态

-- android:state_enabled:可用状态(可接受触摸/点击事件)

 

 

 

Shape

描述:

-- 定义在XML中的几何形状

位置:

res/drawable/xxx.xml

引用:

Java:R.drawable.xxx

XML:@[package:]drawable/xxx

示例:



<shape>的子节点和属性:

android:shape属性:rectangle矩形、oval椭圆、line水平直线、ring环形

-- <gradient>:为Shape指定渐变色

   android:angle(Integer):渐变色角度值,0表示从左到右,90表示从上到下,必须是45的倍数,默认为0

   android:centerX(Float):渐变色中心的X相对位置(0-1.0),当android:type="linear"时无效

   android:center:Y(Float):渐变色中心的Y相对位置,(0-1.0),当android:type="linear"时无效

   android:centerColor(Color):可选颜色,出现在start和end颜色之间

   android:endColor(Color):end颜色

   android:gradientRadius(Float):渐变色的半径,当android:type="radial"时有效

   android:startColor(Color):start颜色

   android:type:渐变色样式,有效值为:

  linear:线性渐变

  radial:环形渐变

  sweep:sweep渐变

  android:useLevel(Boolean):是否可以当做LevelListDrawable使用

 <solid>:填充Shape的单一色

   android:color(Color):该颜色会应用到Shape上

 <stroke>:Shape的线形

   android:width(Dimension):线的厚度

   android:color(Color):线的颜色

   android:dashGap(Dimension):间断线间的距离,仅在android:dashWidth设定时有效

   android:dashWidth(Dimension):间断线的大小,仅在android:dashGap设定时有效

 <padding>:内部View元素的边距

   android:left(Dimension):左内边距

   android:top(Dimension):上内边距

   android:right(Dimension):右内边距

   android:bottom(Dimension):下内边距

 <corners>:为Shape创建圆角,当Shape是一个矩形时有效

   android:radius(Dimension):圆角的半径,会被下面的属性覆盖

   android:topLeftRadius(Dimension):左上圆角半径

   android:topRightRadius(Dimension):右上圆角半径

   android:bottomLeftRadius(Dimension):左下圆角半径

   android:bottomRightRadius(Dimension):右下圆角半径


 

其他资源

Menu

描述:

菜单可以通过编码实现,也可以通过XML文件实现

位置:

res/menu/xxx.xml

引用:

Java:R.menu.xxx

XML:@[package:]menu/xxx

示例:


 

Style/Theme

描述:

-- Style是指View的显示风格,Theme一般是指整个程序的主题

-- style针对View控件,Theme针对Activity和Application

-- Style和Theme定义的方式相同

位置:

Style:res/values/xxx.xml

Theme:res/values/xxx.xml

引用:

Style(XML):R.style.xxx

Theme(XML):在Manifest清单文件的<application>和<activity>中声明

示例:





本文转载至:http://wenku.baidu.com/view/e74bd80002020740be1e9b6e.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值