关于Android中的strings.xml的一些其余用法

关于Android中的strings.xml的一些其他用法

用法1:普通string

<?xml version="1.0" encoding="utf-8"?>
<resources>    
    <string name="string_name">text_string</string>
</resources>

用法2:string 数组

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="string_array_name">
        <item>text_string</item>
    </string-array>
</resources>

java代码中使用:

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);

用法3:Plurals

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <plurals name="numberOfSongsAvailable">
        <item quantity="one">One song found.</item>
        <item quantity="other">%d songs found.</item>
    </plurals>
</resources>

java代码:

int count = getNumberOfsongsAvailable();
Resources res = getResources();
String songsFound = res.getQuantityString(R.plurals.numberOfSongsAvailable, count);

用法4:Formatting and Styling 格式化、占位等

1.格式化字符串

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string>
//java代码
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);

2.html

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="welcome">Welcome to <b>Android</b>!</string>
</resources>

3.以上两种方式的结合体

<resources>
  <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>
</resources>

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);