9. ホーム セクション - スロット API
- 作成した
LazyRow
,LazyHorizontalGrid
を同一のページに表示する- 空のUI(slot)を提供するslotAPIを使用する
- 作成したコンポーザブルの最後のパラメータにラムダを受け取る
content
を追加する -
content
引数に渡されるのが
最小構成
@Composable
fun HomeSection(
@StringRes title: Int,
modifier: Modifier = Modifier,
content: @Composable () -> Unit
){
Column(modifier){
Text(stringResource(title)),
content()
}
}
//呼び出し時
HomeSection(R.stirng.align_your_body){
// ここで呼び出した関数が、contentに渡される
AlignYourBodyRow()
}
Text()の微調整
- テキストのベースラインと上部の間の間隔は
40.dp
modifier.paddingFromBaseLine(top = 40.dp)
- ベースラインと要素の底部の間隔は
16.dp
modifier.paddingFromBaseLine(bottom = 16.dp)
- 水平方向のpaddingは
16.dp
modifier.padding(horizontal = 16.dp)