この記事では、主にAndroidでの実用的な作曲知識、長期的な更新について説明します
アンチクイッククリック
説明する
アンチクイッククリックは主にModifier演算子を使用して実装され、コードは次のとおりです。
コード
@Composable
fun Modifier.avoidRepeatclickable(millis: Long = 500, onClick: () -> Unit): Modifier {
var timeStamp by remember {
mutableStateOf(0L)
}
return clickable {
if (System.currentTimeMillis() - timeStamp > millis) {
onClick()
timeStamp = System.currentTimeMillis()
}
}
}
复制代码
効果
gifには2つのボタンがあります。
-
最初のものは通常のクリック可能を使用し、悲劇はクリックされるたびに色が変わります。
-
2番目のボタンはアンチクイッククリック演算子を使用しており、500ミリ秒以内に複数回クリックすると背景が1回変化します。
作成のアクティビティにジャンプして、戻り結果を取得します
説明する
ここでは、ActivityResult Apiを使用する必要があり、composeは特別に拡張されています
使用する必要のある拡張ライブラリは次のとおりです。
androidx.activity:activity-compose:1.3.0
复制代码
コード
val launcher = rememberLauncherForActivityResult(contract =object : ActivityResultContract<String, String>() {
override fun parseResult(resultCode: Int, intent: Intent?): String {
return intent?.getStringExtra("data")?:""
}
/**
* @param compose向Compose中传的数据 ActivityResultContract<String, String>的第一个泛型
*/
override fun createIntent(context: Context, input: String?): Intent {
return Intent(context,GenerateActivityResultActivity::class.java).apply {
putExtra("data",input)
}
}
} , onResult = {result-> //result 是ActivityResultContract<String, String>第二个泛型
activityResult = result
})
复制代码
gitアドレス:github.com/ananananzhu…