我们是否应该在Strings.xml或布局xml文件本身中提供字符串值

时间:2011-08-05 14:07:07

标签: android android-layout

我有一个问题是,在strings.xml文件中的布局文件中提供我们将要使用的所有字符串文本是否合适,或者我们应该在布局文件本身的“字符串文本”中为属性值提供它android:text="some text"

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:id="@+id/ll1"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

    <Button android:text="Button" 
    android:id="@+id/butShow" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
    </Button>


</LinearLayout>

然后提供android:text="Button"或我们应该使用android:text="@string/btnlabel"

是没关系的

的strings.xml

<resources>
    <string name="btnLabel">Button</string>
</resources>

我们应该在strings.xml中指定所有字符串文本,或者只指定特定的字符串文本。

2 个答案:

答案 0 :(得分:1)

check my answer hereOk

在查看android.content.res.resources和其他一些类的源代码之后,很明显使用资源和通过getResources()获取资源有点代价

然而 使用getResources()有其优势

  • 它可以帮助您外部化您的资源
  

对于任何类型的资源,您可以指定默认和多个替代资源,具体取决于区域设置屏幕深度/分辨率 ...


答案 1 :(得分:0)

如果您决定将应用程序国际化,最好将所有字符串解压缩到strings.xml!那么你只需为每种语言做一个不同的strings.xml而不是布局