Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
401 of 502 menu
◀ ▶

Функция stringResource

Функция stringResource достаёт строку по id ресурса, например R.string.app_name из res/values/strings.xml. Текст подхватывает локаль устройства, если есть переводы в res/values-ru/strings.xml. Для кода вне Compose используют getString.

Синтаксис

val title = stringResource(R.string.app_name)

Параметры

Параметр Описание
id Идентификатор строки, обычно R.string. и имя из XML.
formatArgs Аргументы для плейсхолдеров %s в строке ресурса. Необязательные.

Пример

Давайте выведем app_name через Text:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.ui.res.stringResource import com.example.app.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Text(text = stringResource(R.string.app_name)) } } }

На экране будет строка из app_name. В учебном примере это может быть "abcde".

Пример

Давайте переключим между двумя строковыми ресурсами:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.res.stringResource import com.example.app.R class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var first by remember { mutableStateOf(true) } val label = if (first) { stringResource(R.string.app_name) } else { stringResource(R.string.brand) } Button(onClick = { first = !first }) { Text(text = "abcde") } Text(text = label) } } }

На экране текст сменится между значениями app_name и brand из strings.xml.

Смотрите также

  • метод getString,
    которым читают строку вне Compose
  • функция colorResource,
    которая читает цвет из res/values
  • функция painterResource,
    которая грузит drawable в Compose
  • тег application,
    где label ссылается на @string/app_name
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить