iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0
自我挑戰組

Practice again& again.系列 第 11

Android - String Resources 格式化字串

  • 分享至 

  • xImage
  •  

Android - String Resources Formatting:在字串資源使用格式化引數(Formatting argument)

定義 Formatting Strings

  • 格式化語法

    • %1$s%後方接續的數字,代表該格式化引數在整個文字內容中的引數序號,此處為第1個引數;$s 代表 String 字串格式。
  • 定義 Formatting Strings

    • 開啟 strings.xml
    • 在既有的字串資源 <string name="hello_world"> 改為包含上述格式化引數的內容。如下方代表第一個引數 s 為字串、第二個引數 d 為 Decimal 數字
      <string name="hello_world"> Hello, %1$s ! Current Online Users: %2$d </string>
      

傳值至 Formatting arguments

1. Compose UI

  • 開啟 MainActivity.kt
  • 使用 getString(R.string.字串ID, 值1, 值2, ...) 以呼叫字串資源並將值傳入至 Formatting arguments。
  • 該字串資源的引數數量需符合 getString() 第二個參數至最後一個參數的數量。
  • 各引數的資料格式須符合,例如 $s 之引數值須傳入字串。
  • 如下方範例,"Guest" 對應 %1$s2 對應 %2$d
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        Box(
            modifier = Modifier
                .fillMaxSize(),
            contentAlignment = Alignment.Center
        ) {
            Text(
                //==========呼叫字串資源、傳值至格式化引數=============
                text = getString(R.string.hello_world, "Guest", 2)
                //==================================================
            )
        }
    }
    
  • 啟動專案,確認呈現結果
    img01

2. Layout resources

  • 開啟 activity_main.xml,於 <TextView android:text > 的屬性值加入字串 reference:
    <TextView
        ...
        android:text="@string/hello_world"
        ...
        />
    

上一篇
Android - String Resources 特殊字元
下一篇
Android - String Resources 字串樣式
系列文
Practice again& again.30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言