web-dev-qa-db-ja.com

Jetpackのコンテキストを作成する方法

fun createListItem(itemIndex: Int) {
Padding(left = 8.dp, right = 8.dp, top = 8.dp, bottom = 8.dp) {
    FlexRow(crossAxisAlignment = CrossAxisAlignment.Center) {
        expanded(1.0f) {
            Text("Item $itemIndex")
        }
        inflexible {
            Button(
                "Button $itemIndex",
                style = ContainedButtonStyle(),
                onClick = {
                    Toast.makeText(
                        this@MainActivity,
                        "Item name $itemIndex",
                        Toast.LENGTH_SHORT
                    ).show()
                })

        }
    }
  }
}
 _

私は通常の方法でトーストをしようとします。しかし、私は私がたくさんの倍数の源を試したが失敗したというエラーがありました。

12

定義ambientContextを定義してコンテキストにアクセスできます。

例:

val context = +ambient(ContextAmbient)
 _
3

これを行う方法が更新されました。雪が降る:

val context = ContextAmbient.current
 _

ContextAmbient Docs

2
Ryan M

私はあなたが決してToast通常の方法を示すと思います。 Jetpack Composeは、カスタムKotlinコンパイラプラグインを使用して、これらのコンポジット機能をアプリのUI要素に変換します。たとえば、Text()関数はCompose UI libraryで定義されています。ジェットパックの作成は非常に初期の開発段階にあります。 Jetpackのすべてのレポジーがサンプルと統合テストチェックの下のテストチェックを見ることができます

https://android.googlesource.com/platform/frameworks/support//refs/heads/androidx-master-dev/ui

ジェットパックのための資料デモこのリンクをチェックする

https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/ui/ui-material/integration-tests/tests/tests/tests/material-demos/src/main/ Java/AndroidX/UI /社材/デモ

1
Anas Mehar

Jetpackのコンテキストを作成するには:

val context = ContextAmbient.current
 _

0.1.0-DEV14に取り組んでいます

その使用方法[〜#〜]トースト[〜#〜]

@Composable
fun cardViewImplementer(item: Int) {
   val context = ContextAmbient.current
   Card(
     shape = RoundedCornerShape(10.dp),
     modifier = Modifier.padding(10.dp)
   ) {
     Box(
        modifier = Modifier
            .fillMaxWidth()
            .drawShadow(5.dp)
            .clickable(onClick = {
                Toast.makeText(context, "Clicked $item", Toast.LENGTH_SHORT).show()
            }), children = {

        })
}
 _

にアクセスするにはリソース

Text("Read this string: "+context.getString(R.string.name))
 _
0
Ali Azaz Alam