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

Метод createConfigurationContext

Метод createConfigurationContext класса Context оборачивает текущий context с новым объектом Configuration: локаль, плотность, тёмная тема и другие флаги. Строки из resources читают уже через возвращённый context. Оригинальный context activity не меняется.

Синтаксис

val localized = createConfigurationContext(overrideConfig)

Параметры

Параметр Описание
overrideConfiguration Полная или частичная Configuration с нужными полями поверх текущей.

Пример

Давайте прочитаем строку ресурса через context с новой локалью:

import android.content.res.Configuration import android.os.Bundle import android.os.LocaleList import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import java.util.Locale class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val config = Configuration(resources.configuration) config.setLocales(LocaleList(Locale.US)) val ctx = createConfigurationContext(config) val locale = ctx.resources.configuration.locales[0] val label = if (locale == Locale.US) "abcde" else "12345" setContent { Text(text = label) } } }

На экране текст "abcde" для локали US, прочитанной через обёрнутый context.

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

  • класс Context,
    который создаёт производный context
  • класс LocalContext,
    который даёт context composable по умолчанию
  • метод getSharedPreferences,
    который тоже зависит от context
  • класс Activity,
    у которой базовая configuration экрана
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить