Android 关键资源的定义和使用

1. 字符串数组

定义:
<resources...>
<string-array name = "test_array">
	<item>one</item>	
	<item>two</item>
	<item>three</item>
</string-array>
</resources>

调用:
Resources res = yourActivity.getResources();	//yourActivity是你的Activity
String s[] = res.getStringArray(R.array.test_array);

2.复数资源

定义:
<resources...>
<plurals name = "eggs_in_a_nest_text">
	<item quantity="one">There is 1 egg</item>	
	<item quantity="other">There is %d eggs</item>
	<item>three</item>
</plurals>
</resources>

调用:
Resources res = yourActivity.getResources();	//yourActivity是你的Activity
String s1 = res.getQuantityString(R.plurals.eggs_in_a_nest_text,0,0);//getQuantityString()的第一个参数是复数ID,
			//第二个是选择要使用的字符串,为1时,按原样使用该字符串,不为1时,必须提供第三个参数,它的值放在%d的位置
String s1 = res.getQuantityString(R.plurals.eggs_in_a_nest_text,1,1);

3.字符串资源的更多信息

定义字符串资源XML语法

<resources>
<string name="simple_string">simple string</string>
<string name="quoted_string">"quoted 'xyz' string"</string>
<string name="double_quoted_string">\"double quotes\"</string>
<string name="java_format_string">
	hello %2$s Java format string. %1$s again</string>
<string name="tagged_string">
	Hello <b><i>Slanted Android</i></b>, You are bold.
</string>
</resources>

在Java代码中使用:
String simpleString = activity.getString(R.string.simple_string);
textView.setText(simpleString);

在XML中使用:
<TextView android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:gravity="center_horizontal"
	android:text="@string/tagged_string"/>

4.颜色资源

在XML中定义:

<resources>
	<color name="red">#f00</color>
	<color name="blue"#0000ff</color>
	<color name="green">#f0f0</color>
	<color name="main_back_ground_color">#ffffff00</color>
</resources>

在Java中使用:

int mainBackGroundColor = activity.getResources.getColor(R.color.main_back_ground_color);

在XML中使用:
<TextView android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:textColor="@color/red"
	android:text="Sample Text to Show Red Color"/>

5.尺寸资源

在XML中定义:

<resources>
	<dimen name="mysize_in_pixels">1px</dimen>
	<dimen name="mysize_in_dp">5dp</dimen>
	<dimen name="medium_size">100sp</dimen>
</resources>

px:像素
in:英寸
mm:毫米
pt:磅
dp:与密度无关的像素,基于160dpi(没英寸的像素数)屏幕(尺寸适应屏幕密度)
sp:与比例无关的像素(这种尺寸支持用户调整大小,适合在字体中使用)

在Java代码中使用:
float dimen = activity.getResources().getDimension(R.dimen.mysize_in_pixels);

在XML中使用:
<TextView android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:textSize="@dimen/medium_size"/>

6.图像资源

Android会为在/res/drawable子目录中的图像资源自动生成ID,支持jpg,png,gif。如图像名为sample.jgp,使用时为R.drawable.sample
在Java中使用:
BitmapDrawble d = activity.getResources().getDrawable(R.drawable.sample_image);
button.setBackgroundDrawable(d);
button.setBackgroundResource(R.drawable.sample);

7.色图资源

在Android中,图像是一种图形对象资源。Android支持另一种称为“色图”的图形对象资源,它实际上是一种彩色的矩形。
要定义色图资源,是在/res/values/drawable.xml中

<resources>
	<drawable name="red_rectangle">#f00</drawable>
</resources>

在Java中使用:

ColorDrawable redDrawable = (ColorDrawable)activity.getResources().getDrawable(R.drawable.red_rectangle);
textView.setBackgroundDrawable(redDrawable);

定义圆角矩形:
在/res/drawable/my_rounded_rectangle.xml中

<shape xmlns:android="http://schemas.android.com/apk/res/android">
	<solid android:color="#f0600000"/>
	<stroke android:width="3dp" color="#ffff8080"/>
	<corners android:radius="13dp"/>
	<padding android:left="10dp" android:top="10dp"
		<android:right="10dp" android:bottom="10dp"/>
</shape>

在Java中使用:

GradientDrawable roundedRectangle = (GradientDrawable)activity.getResources().getDrawable(R.drawable.my_rounded_rectangle);
textView.setBackgroundDrawable(roundedRectangle);






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值