work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Android 资源的使用

Posted on 2013-03-21 14:55  work hard work smart  阅读(370)  评论(0编辑  收藏  举报

Android 资源的使用

一、dimension资源的使用

Android中dimension单位有:  px 像素 dp 密度  mm 毫米  pt 点   sp 刻度  in英寸

dimension资源的定义

<resources>
    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="px">10px</dimen>
    <dimen name="dp">10dp</dimen>
    <dimen name="sp">70sp</dimen>
</resources>

dimension资源的使用有两种方法

一种在Layout中用:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" 
        android:textSize="@dimen/sp"/>

 一种在java文件中用:

this.getResources().getDimension(R.dimen.dp);

 

二、资源String,StringArrary,plurals的使用

xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Resource_Plurals</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="format_msg">we are %1$s, I am %2$d years old.</string>
    <plurals name="student">  
        <item quantity="one">I am 1 student</item>  
        <item quantity="other">We are %d students</item>  
    </plurals>
    <string-array name="list">
        <item>Item1</item>
        <item>Item2</item>
        <item>Item3</item>
        <item>Item4</item>
    </string-array>
</resources>

 资源的使用:

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		Resources resources = getResources();
		
		String text = String.format( getString(R.string.format_msg), "eworker",21);
		Log.i("app_name", text);
		
	          String[] listsStrings =	resources.getStringArray(R.array.list);
		
		String string = resources.getQuantityString(R.plurals.student, 10, 10);
		Log.i("plurals", string);
		String string3 = resources.getQuantityString(R.plurals.student, 50, 50);
		Log.i("plurals", string3);
	}

  1、 getString(R.string.format_msg) 这个方法可以获得想要的资源。

2、String text = String.format( getString(R.string.format_msg), "eworker",21);

<string name="format_msg">we are %1$s, I am %2$d years old.</string> 这条资源1$s代表字符, %2$d代表数字,所有要进行格式转化。

3、String[] listsStrings = resources.getStringArray(R.array.list);这是一个数组列表。

4、String string = resources.getQuantityString(R.plurals.student, 10, 10); 这个使用的是plurals。

最终的显示的内容为We are 10 students; We are 50 students

最终的结果可以看下图: