私は初心者Android開発者です。この線形レイアウトをEclipseで実行しようとしていました:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent">
<LinearLayout
Android:orientation="horizontal"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_weight="1">
<TextView
Android:text="red"
Android:gravity="center_horizontal"
Android:background="#aa0000"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_weight="1"/>
<TextView
Android:text="green"
Android:gravity="center_horizontal"
Android:background="#00aa00"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_weight="1"/>
<TextView
Android:text="blue"
Android:gravity="center_horizontal"
Android:background="#0000aa"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_weight="1"/>
<TextView
Android:text="yellow"
Android:gravity="center_horizontal"
Android:background="#aaaa00"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:layout_weight="1"/>
</LinearLayout>
<LinearLayout
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_weight="1">
<TextView
Android:text="row one"
Android:textSize="15pt"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_weight="1"/>
<TextView
Android:text="row two"
Android:textSize="15pt"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_weight="1"/>
<TextView
Android:text="row three"
Android:textSize="15pt"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_weight="1"/>
<TextView
Android:text="row four"
Android:textSize="15pt"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_weight="1"/>
</LinearLayout>
</LinearLayout>
そして、私は気づいた:
1)Android:text="Yellow"
の下の黄色の線
2)Android:text="row four"
の下の黄色の線
三角形の警告は[I18N] Hardcoded string "Yellow", should use @string resource "
であり、残りの警告についても同じです。提案はありますか?
文字列をレイアウトファイルにハードコーディングすることはお勧めできません。それらを文字列リソースファイルに追加し、レイアウトから参照する必要があります。
これにより、strings.xmlファイルを編集するだけで、すべてのレイアウトでWord "Yellow"のすべての出現を同時に更新できます。
また、サポートされている言語ごとに個別のstrings.xmlファイルを使用できるため、複数の言語のサポートにも非常に役立ちます。
例:res/values/strings.xmlに保存されたXMLファイル:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="yellow">Yellow</string>
</resources>
このレイアウトXMLは、文字列をビューに適用します。
<TextView Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/yellow" />
同様に、色はcolors.xmlに保存し、@ color/color_nameを使用して参照する必要があります
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="Black">#000000</color>
</resources>
これらをstrings.xmlの下に作成する必要があります
<string name="close">Close</string>
このように置き換えて参照する必要があります
Android:text="@string/close"/>
XMLファイルでstrings.xmlが指定されている場合でも、@ stringsを使用しないでください。使用しないと機能しません。
レイアウトファイル/コードに文字列をハードコードすることはお勧めできません。それらを文字列リソースファイルに追加し、レイアウトから参照する必要があります。
strings.xml
ファイルを編集できます。supporting multiple languages
を使用できるため、strings.xml file
にとっても非常に便利です。@string
システムを持つ実際のポイントは、 localization ドキュメンテーションを読んでください。アプリ内のテキストを簡単に見つけて、後で翻訳することができます。support multiple languages with a single application package file
(APK)を使用できます。利点
デザインモードに移動し、警告の下部にある[修正]を選択できます。その後、ポップアップが表示され(新しい文字列を登録するようです)、出来上がり、エラーが修正されます。
String.xml内にテキストを書くことをお勧めします
例:
String.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="yellow">Yellow</string>
</resources>
および内部レイアウト:
<TextView Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/yellow" />