• 003.android资源文件剖析(Resources)


    android的资源文件使用的重要性,不言而喻。让我们从潜到深逐渐来了解吧。

    一:android的基本资源:

    1.字符串资源

    android的资源文件保存在:resvalues

    2.布局资源

    android的资源文件保存在:reslayout
    二:.资源引用的语法:@[package:]type/name

    1.type对应于R.java中一种可用的资源类型命名空间,包括:

    R.drawable;      R.id;    R.layout;         R.string;       R.attr;      R.plural;     R.array

    2.xml资源引用语法中相应的类型为(type):

    Drawable,id,layout,string,attr,plurals,string-array

    资源引用:@[package:]type/name中的name部分是资源的名字。它在R.java中也被表示一个int行变量。

    注意:如果未在语法中“@[package:]type/name”指定任何包,那么type/name对将根据本地资源和应用程序的本地R.java包进行解析。

    如果指定了android:type/name,将使用android来解析引用的ID,具体是通过android.R.java文件来完成的。

    3.分析资源引用的语法:

    android:id="@+id/main_tv_uname"

    “android:id“只是向TextView分配ID的方式,

    在语法="@+id/main_tv_uname”中+符号具有特殊的意义,他告诉android,ID text可能还不存在,如果确实是这样,则创建一个新ID并把它命名为="@+id/main_tv_uname”

    4.定义资源id供以后使用

    代码片段:在资源文件里面写一下语句:

    <resources>
        <item type="id" name="test"></item>
    </resources>

    使用方法:

    <Button
             android:id="@id/test"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/main_btn_login" />
         

    三:Android关键资源
    接下来我们认识一些关键资源,他们的XML表示,以及在java代码中使用他们的方式。

    1.字符串资源

    字符串资源一般有四种:普通字符串,引用字符串,可替换字符串,html字符串

    1.1普通字符串

    目录:res/values/string.xml(文件名字可以任意指定,但是最好看词达意)

    <resources>
    
        <string name="app_name">D03_Activity</string>
        <string name="action_settings">Settings</string>
        <string name="hello_world">Hello world!</string>
        <string name="main_tv_username">用户名:</string>
        <string name="main_tv_password">密码:</string>
        <string name="main_btn_register">注册</string>
        <string name="main_btn_login">登陆</string>
    
    </resources>

    使用:

    android:text="@string/main_tv_username"

    1.2html字符串

    android支持xml元素,比如<b>,<i>等,以及string节点下其他简单的文本格式html。
    举个例子:

    <?xml version ="1.0"  encoding="utf-8"?> 
    <resources>
    <string name="main_tv_username"><b><i>用户名:</i></b></string>
    </resources>
    

    使用:

    (1)在布局文件里使用时和普通字符串的使用方式一样。控件自动确定字符串是html字符串。

    2.字符串数组

    <Resources>
    <string-array name="test_array">
            <item>张三</item>
            <item>赵四</item>
            <item>王五</item>
    </string-array>
    </Resources>
    

    使用:

    String []a = getResources().getStringArray(R.array.test_array);
    tView.setText(Arrays.toString(a));

    3.复数资源(plurals)

    <?xml version="1" encoding="utf-8"?>
    <resources>
       <plurals name="main_plurals">
            <item quantity="one">is 1 apple</item>
            <item quantity="other">are %d apples</item>
       </plurals>
    </resources>
    


    使用:

     String mePlurals = this.getResources().getQuantityString(R.plurals.main_plurals,1);
    	    String mePluralsString = this.getResources().getQuantityString(R.plurals.main_plurals,3,2);
    	    tView.setText( mePlurals+"  "+mePluralsString);

    注意:在英语中 quantity属性的值只有两种。one和other。

    4.尺寸资源

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


    使用:

    在java文件中使用:

    float a = this.getResources().getDimension(R.dimen.aa);

    在xml中的使用:

    android:paddingBottom="@dimen/activity_vertical_margin"

    5.图像资源

                <ImageView
                    android:id="@+id/imageView4"
                    android:layout_width="0dip"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:src="@drawable/putong1" />
  • 相关阅读:
    C语言中scanf函数的实现
    Express中设置cookie,session,token
    ajax2.0提供的FormData
    将json字符串解析为对象的三种方式
    ajax中的跨域问题
    html5中的图片预览
    jQuery中的ajax
    jQuery中的表单序列化
    实现一个瀑布流
    ajax
  • 原文地址:https://www.cnblogs.com/riskyer/p/3275750.html
Copyright © 2020-2023  润新知