Android学习笔记 第七章

第七章 管理应用程序资源

7.1.1存储应用程序资源

如果高像素屏幕使用的资源 放在drawable_hdpi中,所有像素密度均可使用的资源放在drawable中

 

7.1.2资源的类型

所有资源的名称必须小写

1.存储String简单资源

必须以XML头作为文件的开始

<?xml version = "1.0" encoding = "utf-8"?>

接着是根节点<resources>

然后是具体的资源

<color name = "red">#800000</color>

</resource>

2.存储图形和文件

图形放在drawable文件夹中

xml文件放在/xml中

原始文件放在res/raw中

3.存储其他资源文件

以特殊的XML文件存储,每种资源需要唯一的命名。

7.3使用不同种类的资源

7.3.1使用String资源

字符串的值使用<string>标记 使用名称-值方式来定义。

可以使用3中风格属性 分别是加粗,斜体,下划线

<string name = "test"><b>Bold</b>,<i>Italic</i>,<u>Line</u></string>

7.3.2使用格式化的字符串资源

例如:

<string name = "test">Score: %1$d of %2$d! You</string>

%1$d 意味着第一个可替换的整数

如果对上面的字符串添加字符串属性,需要对风格进行转义

实体转义必须以&开头;结尾

例如:

<i> ===== &lt;i&gt;

' 应该转移为 &apos;

" 转义为 &quot;

& 装以为 &amp;

获取字符串

第一种:getResources().getString(ID);

第二种:CharSequence myString = getResources().getText(ID);返回值保存着文字风格

载入格式化的文本麻烦一些

格式为(%d%d%s)

String baseString = getResources().getString(ID);

String escaped = TextUtils.htmlEncode("Won"); //将html格式的变量转变成format能够识别的变量

String result = String.Format(baseString, 5, 5, escaped);

如果使用了风格

最后添加

CharSequence styledResults = Html.fromHtml(result); //转换成带有样式的字符串

7.3.3使用字符串数组

String数组使用相对应的<string-array>标记和<item>子标记

访问String数组资源的方法

getResources().getStringArray(ID)

7.3.4使用bool类型资源

定义 名称-值得方式

<bool name = ""test>true</bool>

使用

getResources().getBoolean(ID);

7.3.5

定义

<integer name = "test">20</integer>

使用

getResources().getInteger(ID);

7.3.6使用颜色

颜色值格式

#RGB #ARGB #RRGGBB #AARRGGBB

标签<coclor>

获取getResources().getColor(ID);

7.3.7使用尺寸

标记<dimen>

值单位 px:像素 in:英寸 mm:毫米 pt:点 dp:屏幕密度独立像素 sp:比例独立像素

获取getResources().getDimension(ID); //考虑到兼容性的话。多使用sp dp

7.3.8添加Drawable资源

指定一个带颜色的矩形框

获取 (ColorDrawable)getResources().getDrawable(ID);

7.3.9使用图像

推荐.png .9.png

注意:资源文件的名称必须小写且简单

2.通过程序使用图像资源

图像资源是 BitmapDrawable 如果使用的是9图 那么getDrawable()返回一个NinepatchDrawable对象

7.3.10使用动画

1.定义和使用逐帧动画

将每帧的图像定义为单独的Drawable资源

<animation-list>  <item>

3.补间动画与图片无关 只是定义的动作

定义

 

使用

Animation an = AnimationUtils.loadAnimation(this, R.anim.spin);

7.3.11使用菜单

2.通过程序使用菜单

getMenuInflater().inflate(ID, menu);

7.3.12使用XML资源

XmlResourceParser myPets  = getResources().getXml(ID);

7.1.13使用原始文件

使用InputStream file = getResources().openRawResources(ID);

7.3.14资源引用

@resource_type/variable_name

7.3.15使用布局

可以在单独的XML文件中定义常用的布局,在其他布局文件中使用

<include layout = "@layout/mygreenrect"/>

7.4引用系统资源

包名设置为@android

@android:color/darker_gray

可以通过

android.R.....来获取系统资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值