资源文件夹
res/anim/
XML文件,被编译进逐帧动画或补间动画对象
res/drawable
位图文件、Nine-Patch,使用Resources().getDrawable(int id)取得
res/layout
XML文件,被编译成屏幕布局
res/values
可以被编译成多种类型的XML文件(l、l、l、l、l)
res/xml
任意的XML文件,运行时调用getResources().getXml(int id)读取
res/raw
直接复制到设备中的任意文件,无需编译,要使用这些资源,调用getResources.openRawResource(int id)
res/assets
也可以当值任意文件,使用Assets().open("");打开
Drawable资源
Color
描述:
定义在XML中的Color,有两种类型,一种节点名为<drawable>,当做Drawable使用,可以填充组件颜(即给View设置背景),另一种节点名是<color>,是颜字符串值
ColorDrawable是一种简单的资源,可以在XML中的<resources>元素下添加多个ColorDrawable,使用name属性引用其值(不再使用文件名),其值可以是任何有效的十六进制颜值或Color资源
Color值总以“#”开头,格式为:#RGB、#ARGB、#RRGGBB、#AARRGGBB(A表示Alpha,透明度)
位置:
res/l
引用:
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:
XML:@[package:]drawable/xxx
Nine-patch File
描述:
一种可以拉伸的PNG图像
典型的应用就是将此图像设为View的背景,该View至少有一个尺寸设为“wrap_content”,Nine-Patch图像会随View的大小自动伸缩进行匹配(ImageView的src则不能随View变化,按其自身大小显示部分或全部)
位置:
res/drawable/xxx.9.png(文件名当做资源ID使用)
引用:
Java:
XML:@[package:]drawable/xxx
State List
描述:
StateListDrawable是定义在XML中的Drawable对象,根据状态呈现不同图像
在XML中描述状态,<Selector>为根元素,其下可以包含一个或多个<item>元素
每次状态改变时,StateList都会从上至下遍历XML文件,第一个匹配(非最佳匹配)当前状态的item将被使用,所以,<item>的位置是不可改变的,默认状态总在最后
位置:
res/l(文件名当做资源ID使用)
引用:
Java:
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/l
引用:
Java:
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):圆角的半径,会被下面的属性覆盖java学习资源
⏹ android:topLeftRadius(Dimension):左上圆角半径
⏹ android:topRightRadius(Dimension):右上圆角半径
⏹ android:bottomLeftRadius(Dimension):左下圆角半径
⏹ android:bottomRightRadius(Dimension):右下圆角半径
其他资源
Menu
描述:
菜单可以通过编码实现,也可以通过XML文件实现
位置:
res/l
引用:
Java:
XML:@[package:]menu/xxx
示例:
Style/Theme
描述:
Style是指View的显示风格,Theme一般是指整个程序的主题
style针对View控件,Theme针对Activity和Application
Style和Theme定义的方式相同
位置:
Style:res/l
Theme:res/l
引用:
Style(XML):
Theme(XML):在Manifest清单文件的<application>和<activity>中声明
示例:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论