Jetpack Composeで画面の高さ、幅(height,width)を取得する方法
6956 ワード
スクリーンサイズ(画面全体の高さ幅)を取得する方法
端末のスクリーンサイズを取得する方法は以下です。DPで取得できます。
val screenHeight = LocalConfiguration.current.screenHeightDp
val screenWidth = LocalConfiguration.current.screenWidthDp
Boxの高さ幅を取得する方法
各Composeのサイズを取得する場合は、BoxWithConstraints
を使用します。
BoxWithConstraints {
val screenWidth = with(LocalDensity.current) { constraints.maxWidth.toDp() }
val screenHeight = with(LocalDensity.current) { constraints.maxHeight.toDp() }
}
GridViewにグラデーションのボタンを敷き詰めるために使用しました
- ソースサンプル
@Composable
fun MainScreen(
buttonList: List<ButtonStyle>,
onPush: (Long) -> Unit
) {
Scaffold(modifier = Modifier.fillMaxSize()) {
BoxWithConstraints {
val screenWidth = with(LocalDensity.current) { constraints.maxWidth.toDp() }
val screenHeight = with(LocalDensity.current) { constraints.maxHeight.toDp() }
LazyVerticalGrid(
cells = GridCells.Fixed(5),
modifier = Modifier.fillMaxSize(),
verticalArrangement = Arrangement.Center,
) {
items(items = buttonList) { style ->
MultiButton(
style = style,
height = screenHeight / 10,
onPush = onPush,
)
}
}
}
}
}
- 作成した画面
参考
Author And Source
この問題について(Jetpack Composeで画面の高さ、幅(height,width)を取得する方法), 我々は、より多くの情報をここで見つけました https://zenn.dev/hiroa365/articles/889d07b33da600著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol