Android 布局資源

2018-02-18 14:13 更新

在Android中,屏幕的視圖通常從XML文件加載。這些XML文件稱為布局資源。

例子

下面顯示了布局文件的示例

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <Button
        android:id="@+id/b1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
</LinearLayout>

注意

/res/layout/ 子目錄中的每個文件都將基于擴(kuò)展名被排除的文件的名稱生成一個唯一的常量。

有了布局,重要的是文件的數(shù)量。使用字符串資源,重要的是文件中單個字符串資源的數(shù)量。

例如,如果在 /res/layout/ 下有兩個文件,名為file1.xml file2.xml,那么在 R.java 中有以下條目。

public static final class layout {
    //.... any other files
    public static final int file1=0x7f030000;
    public static final int file2=0x7f030001;
    //....
}

參考

在這些布局文件中定義的視圖,如:TextView,可以通過其在R.java中生成的資源ID在Java代碼中訪問:

TextView tv = (TextView)this.findViewById(R.id.text1);
tv.setText("Try this text instead");

常量 R.id.text1 對應(yīng)于為TextView定義的ID。布局文件中TextView的ID如下所示:

<TextView android:id="@+id/text1"
..
</TextView>

id屬性的值表示使用稱為text1的常量來唯一標(biāo)識此視圖。

@+id/text1 中的加號( + )意味著將創(chuàng)建ID text1(如果它不存在)。

在布局資源中使用字符串資源

將字符串定義為資源后,你可以直接在視圖上設(shè)置它們。

下面顯示了一個示例,其中HTML字符串設(shè)置為 TextView 的文本內(nèi)容。

以下代碼用于string.xml。

<resources>
    <string name="simple_string">simple string</string>
    <string name="tagged_string">
         Hello <b><i>Slanted Android</i></b>, You are bold.
    </string>
</resources>

以下代碼用于 layout.xml 。

<TextView android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:gravity="center_horizontal"
          android:text="@string/tagged_string"/>

TextView 自動實現(xiàn)這個字符串是一個HTML字符串,并相應(yīng)的遵守其格式。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號