Класс Configuration
Класс Configuration из Android
хранит текущие настройки среды:
язык и регион в locales,
ориентацию экрана, плотность dpi,
размер шрифта и тёмную тему.
Объект берут из resources.configuration
или из
LocalConfiguration
в Compose.
Новую конфигурацию для context создают через
createConfigurationContext,
отдельные поля в справочник не выносим.
Синтаксис
val config = resources.configuration
Пример
Давайте покажем код языка на экране:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val lang = resources.configuration.locales[0].language
setContent {
Text(text = lang.ifEmpty { "abcde" })
}
}
}
На экране двухбуквенный код языка устройства
или запасная строка "abcde".
Смотрите также
-
класс
Locale,
который лежит внутри locales -
класс
LocalConfiguration,
который даёт Configuration в composable -
метод
createConfigurationContext,
который строит context с другой Configuration -
класс
LocaleList,
список предпочитаемых языков пользователя