小编Spa*_*evs的帖子

单击 jetpack compose 中的空格时如何隐藏键盘?

我正在尝试学习 android jetpack compose 中的文本字段,所以我在屏幕上有两个文本字段,当我在第一个文本字段中输入内容时,我想在单击屏幕上的空格时关闭键盘。我正在使用

 .pointerInput(Unit) {
                detectTapGestures(onTap = {
                    focusManager.clearFocus()
                })
            } 
Run Code Online (Sandbox Code Playgroud)

这行代码可以工作,但对于像 10 文本字段这样的多文本字段不起作用,例如,当我单击 8.textfield 时,底部屏幕看起来是黑色的。我不知道为什么它是黑色的?任何想法?

@Composable
fun KeyboardSample(){
val focusManager = LocalFocusManager.current
    Column(
        modifier = Modifier
            .fillMaxSize()
         .pointerInput(Unit) {
            detectTapGestures(onTap = {
                focusManager.clearFocus()
            })
        }
            .padding(start = 16.dp, end = 16.dp),

    ) {

        var name by rememberSaveable { mutableStateOf("") }
        val updateName = { _name : String ->
            name = _name
        }

        var amount by rememberSaveable { mutableStateOf("") }
        val updateAmount = { _amount : String -> …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

3
推荐指数
1
解决办法
4934
查看次数

为什么它说“列表不包含与谓词匹配的元素。” 对于android jetpack compose?

我的项目有入门屏幕,它工作正常,但我只想向用户展示一次,并且我使用了它的共享首选项,在调试项目时,它会抛出类似 logcat 中的错误,

列表不包含与谓词匹配的元素。

,在 Android 模拟器中我可以看到主屏幕,但应用程序崩溃很快,当我在模拟器上再次打开应用程序时,登录屏幕仅显示 1 秒并打开主屏幕,而不是应用程序崩溃,我不知道为什么?我猜问题是因为这行代码,

if (!sharedPreferences.getBoolean("firstTime", true)) {
                    navController.navigate("main")
                }else{
Run Code Online (Sandbox Code Playgroud)

但我不确定。

主屏幕:

@Composable
 fun MainScreen(
     navController: NavController,

 ) {

     
     Column(
         Modifier
             .fillMaxSize()

         ,
         horizontalAlignment = Alignment.CenterHorizontally
     ) {

      Text(
                     "WELCOME TO",
                     modifier = Modifier
                         .width(300.dp)

                     ,
                     textAlign = TextAlign.Start,
                     fontSize = 15.sp,
                     color = custom,
                     fontWeight = FontWeight.Medium

                 )
}
Run Code Online (Sandbox Code Playgroud)

导航:

@OptIn(ExperimentalPagerApi::class)
@Composable
fun NavScreen(
    sharedPreferences: SharedPreferences
) {


    val navController = rememberNavController()


    NavHost(navController = navController, startDestination = "onBoard") {

        composable("onBoard",  ) {

            OnBoardScreen(navController = …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose

2
推荐指数
1
解决办法
3709
查看次数

标签 统计

android ×2

android-jetpack-compose ×2

kotlin ×2