码迷,mamicode.com
首页 > 移动开发 > 详细

<Android>资源的访问,颜色、字符串、尺寸、XML、DRAWABLES资源分使用

时间:2015-04-07 00:32:31      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

1.资源的访问

代码中使用Context的getResources()方法得到Resources对象,访问自己定义的资源R.资源文件类型.资源文件名称,访问系统定义的资源android.R. 资源文件类型.资源文件名称。

在其他资源中引用资源一般格式为@[包名称:]资源类型/资源名称

  android:textColor=”@color/opaque_red” 

2.颜色资源的使用

1.颜色资源xml的定义

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
    <color name="red_bg">#f00</color>
    <color name="blue_text">#0000ff</color>
 </resources>

 

2.其他xml资源中引用颜色资源

  android:textColor="@color/blue_text" 

3.java代码中引用颜色文件

// 引用颜色资源,设置背景色为红色

 1 getWindow().setBackgroundDrawableResource(R.color.red_bg); 

补充获得颜色的方法 Resources.getColor();

3.字符串资源的使用

1.字符串xml的定义

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
    <string name="app_name">Test Resources</string>
     <string name="test_str1">从代码中引用!</string>
     <string name="test_str2">从资源文件引用!</string>
 </resources>

 

2.其他xml文件中引用

  android:text="@string/test_str1" 

3.java代码中引用

 String str = getString(R.string.test_str2).toString();
 //使用Context.getString()方法,传递资源id参数得到该字符串。

 

补充获得字符串资源方法Resources.getString(),java代码中R.string.string_name同颜色资源

4.尺寸资源的使用

android中的尺寸有px,in,mm,pt(点,英尺in的1/72),dp,sp

1.尺寸资源的定义

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <dimen name="text_width">150px</dimen>
     <dimen name="text_height">100px</dimen>
     <dimen name="btn_width">30mm</dimen>
     <dimen name="btn_height">10mm</dimen>
 </resources>

 

2.其他xml资源中引用尺寸(设置TextView的宽和高)

android:width="@dimen/text_width"
android:height="@dimen/text_height"

 

3.java代码中引用尺寸(设置Button的宽和高)

Resources r = getResources();
float btn_h = r.getDimension(R.dimen.btn_height);
float btn_w = r.getDimension(R.dimen.btn_width);

myButton.setHeight((int)btn_h);
myButton.setWidth((int)btn_w);

 

补充java代码中可通过R.dimen.dimen_name引用尺寸。

5.原始xml资源的使用

1.原始xml文件的定义test.xml

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

<resources>

   <customer name="tom" age="20" gender="male" email="tom@yahoo.com"/>
   <customer name="kite" age="21" gender="male" email="kite@yahoo.com"/>

</resources>

 

2.java代码中解析原始xml文件

int counter = 0;
StringBuilder sb = new StringBuilder("");
Resources r = getResources();
XmlResourceParser xrp = r.getXml(R.xml.test);
try { while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { if (xrp.getEventType() == XmlResourceParser.START_TAG) { String name = xrp.getName(); if(name.equals("customer")){ counter++; sb.append("第"+counter+"条客户信息:"+"\n"); sb.append(xrp.getAttributeValue(0)+"\n"); sb.append(xrp.getAttributeValue(1)+"\n"); sb.append(xrp.getAttributeValue(2)+"\n"); sb.append(xrp.getAttributeValue(3)+"\n\n"); } } else if (xrp.getEventType() == XmlPullParser.END_TAG) { } else if (xrp.getEventType() == XmlPullParser.TEXT) { } xrp.next(); } myTextView.setText(sb.toString()); } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

 

补充好像只能在java代码中引用原始xml文件资源

6.drawables资源的使用

drawables资源分为Bitmap(位图文件),Color Drawable(颜色),Nine-Patch Image(九片图片)三类

xml中使用位图文件时,引用g1.jpg

android:src="@drawable/g1"

java代码中引用位图文件时

Resources r = getResources();
Drawable d = r.getDrawable(R.drawable.moto);
myImageView.setImageDrawable(d);

 

<Android>资源的访问,颜色、字符串、尺寸、XML、DRAWABLES资源分使用

标签:

原文地址:http://www.cnblogs.com/GloryLion/p/4397173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!