Функция dimensionResource
Функция dimensionResource
возвращает Dp или TextUnit
по id из res/values/dimens.xml,
например R.dimen.gap.
Размер уже переведён в единицы Compose.
В Java-коде тот же dimen берут через
getDimension.
Синтаксис
val gap = dimensionResource(R.dimen.gap)
Параметры
| Параметр | Описание |
|---|---|
id |
Идентификатор R.dimen.
из dimens.xml.
|
Пример
Давайте добавим padding gap вокруг текста:
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.res.dimensionResource
import com.example.app.R
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text(
text = "abcde",
modifier = Modifier.padding(
dimensionResource(R.dimen.gap),
),
)
}
}
}
На экране текст "abcde"
отступит от краёв на величину gap.
Пример
Давайте поставим два текста с одинаковым gap:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.dimensionResource
import com.example.app.R
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val gap = dimensionResource(R.dimen.gap)
Column(modifier = Modifier.padding(gap)) {
Text(text = "abcde")
Text(text = "12345")
}
}
}
}
На экране столбец получит отступ gap, обе строки сдвинутся одинаково.
Смотрите также
-
метод
getDimension,
которым читают dimen в пикселях -
функция
stringResource,
соседняя функция чтения ресурсов -
функция
padding,
куда передают значение gap -
класс
Resources,
который хранит все dimens