✨速習 - Ki-Kobayashi/Android-Wiki GitHub Wiki
✨速習サイト
https://qiita.com/satoru_pripara/items/a62252d7aa6cc1d7aa90#typograhy
ComponentActivity
🟩- Compose-onlyのアプリで使うアクティビティだが、通常はサブクラスのFragmentActivityやAppCompatActivityを使う。
ComponentActivity vs AppCompactActivity in Android Jetpack Compose
LaunchedEfect
🟩一つ目の引数(key)に何らかの変更が加わるたびに、二つ目の引数で指定したクロージャ内の処理を実行する。
実行中にもう一度実行指示が出た場合は、実行中の処理をキャンセルし、新しい処理の方に行く。
サンプルで理解するJetpack Composeの副作用の仕組み
🟩 Modifier
ComposeのUI部品について、背景色、パディング、高さや横のサイズ、輪郭などなど、さまざまな設定を付与できる。
Android developer - Compose 修飾子のリスト
Qiita - Jetpack Compose Modifier(修飾)
複数のModifierを使った場合、Modifierが適用されるのは、上から順である。
Modifiers in Jetpack Compose — Basic Concepts to Get You Started
🟡部品の角を丸くしたい。
.clipモディファイアを使えば可能である。四隅のうち、特定の角のみを丸くすることも可能である。以下は、下方の角のみを丸くした例。
modifier = modifier
.clip(shape = RoundedCornerShape(0.dp, 0.dp, 25.dp, 25.dp))
🟡Icons
ボタンなどで使えるアイコンとしてMaterial Iconが用意されている。
以下のように用いる。
Icon(Icons.Rounded.Favorite, contentDescription = "Favorite")
🟩 Scaffold
UI部品の最下層に設置することが多く、他の画面(UI部品)の他、アプリバー、フローティングアクションボタン、スナックバー、ドロワーなどを設定できる。
Scaffoldのラムダ式には引数としてpaddingValuesという値が渡され、子UI部品にModifier経由でパディングとして設定することで、アプリバーなどの分の余白を考慮したデザインとできる。
🟡AppBar
Scaffoldに設定できるアプリ上部のバー。
androidx.compose.material - TopAppBar
Material3 ではCenterTopAppBarというのがあるので、これを使うとタイトル部分を中央寄りにできる。
CenterAlignedTopAppBar
How to align title at layout center in TopAppBar?
🟡
🟡
🟩 Typograhy
Textなどの文字の大きさを変えられる。
Typography - Material Design3 [Jetpack Compose]TextStyle を適用する Text コンポーザブルを予め定義しておくと便利
🟡使い方
Android studioで「File > New > Activity > Empty Compose Activity」を選択するなどして、「ComponentActivity」を継承したActivityを作るなどする。
@Composableマークのついた関数を作る。これによりレイアウトが作られる。
@Previewマークをつければ、Android Studioでプレビューが即確認できるようになり大変便利。
@RequiresOptInがついているマークがついているクラスを使いたい場合は、@OptInマークをつけて使う必要がある。
子部品の配置を決定する際、親部品の配置を参考にしたい。
BoxWithConstraintsを利用するとできる。
BoxWithConstraints {
print("maxHeight $maxHeight")
inputArea(
height = maxHeight - bottomUpperHeight,
)
}
Composeでのレイアウト - レスポンシブレイアウト
BoxWithConstraintsScope