zoukankan      html  css  js  c++  java
  • Android 资源的使用

    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

    最终的结果可以看下图:

    作者:Work Hard Work Smart
    出处:http://www.cnblogs.com/linlf03/
    欢迎任何形式的转载,未经作者同意,请保留此段声明!

  • 相关阅读:
    studyframe项目总结
    js三级联动
    ajax提交,获取后台数据
    密码验证
    产生验证码
    使用泛型 ,做计算器
    web前端,css
    VS快捷键
    我的未来编码规范
    如何将CAJ文档转化为doc文档
  • 原文地址:https://www.cnblogs.com/linlf03/p/2973435.html
Copyright © 2011-2022 走看看