Метод getDimension
Метод getDimension класса
Resources
читает res/values/dimens.xml
и переводит dp или sp в px текущего экрана.
Для Compose удобнее
dimensionResource,
который сразу даёт Dp.
Синтаксис
val px = resources.getDimension(R.dimen.gap)
Параметры
| Параметр | Описание |
|---|---|
id |
Идентификатор R.dimen.gap
или другого dimen.
|
Пример
Давайте переведём gap в Dp для padding:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.unit.dp
import com.example.app.R
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val gapPx = resources.getDimension(R.dimen.gap)
setContent {
val gapDp = with(LocalDensity.current) {
gapPx.toDp()
}
Text(
text = "abcde",
modifier = Modifier.padding(gapDp),
)
}
}
}
На экране текст "abcde"
отступит на величину gap из dimens.xml.
Смотрите также
-
функция
dimensionResource,
которая сразу возвращает Dp -
класс
Resources,
где объявлен getDimension -
метод
getString,
соседний метод чтения values -
функция
padding,
куда попадает переведённый gap