Класс LocalContext
Объект LocalContext из
androidx.compose.ui.platform
это composition local с Context.
Внутри composable текущий context
берут как LocalContext.current.
Так получают ресурсы, запускают intent
и открывают
getSharedPreferences
без явной передачи activity.
Синтаксис
val context = LocalContext.current
Пример
Давайте выведем packageName через LocalContext:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
import androidx.compose.ui.platform.LocalContext
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val context = LocalContext.current
Text(text = context.packageName)
}
}
}
На экране текст с идентификатором пакета приложения, прочитанным из LocalContext внутри composable.
Смотрите также
-
класс
Context,
который хранится в LocalContext -
функция
setContent,
после которой доступен LocalContext -
метод
startActivity,
который вызывают на context из composable -
класс
ComponentActivity,
которая предоставляет context дереву Compose