标签: android-compose-button

如何将按钮中的图标向左对齐并保持文本居中

我试图将按钮的图标向左对齐并保持文本居中。有什么想法可以实现这一点吗?

我的可组合项:

  @Composable
  fun CustomButton() {
    MaterialTheme {
      OutlinedButton(
        onClick = {},
        modifier = Modifier
          .padding(12.dp),
        colors = ButtonDefaults.buttonColors(backgroundColor = Color.White),
        shape = RoundedCornerShape(4.dp)) {
          Icon(
            imageVector = Icons.Default.FavoriteBorder,
            contentDescription = null,
            modifier = Modifier.padding(start = 4.dp)
          )
          Text(text = "Like", color = Color.Grey)
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

现在看起来是这样的: 在此输入图像描述

android android-jetpack-compose android-compose-button android-jetpack-compose-button

6
推荐指数
1
解决办法
8859
查看次数

jetpack compose 中的 onPressIn 和 onPressOut

我有录制语音的按钮,所以我希望它在用户按下它时开始录制,并在用户离开时停止录制

@Composable
fun Screen(){
   
   Button(){
      Text("record")
   }

}
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose android-compose-button android-jetpack-compose-button

6
推荐指数
2
解决办法
2485
查看次数

Dynamically add views on click of Button using Jetpack Compose

I want to dynamically add Text Fields to my layout everytime user click "Add" button.Added Text Field should be added above "Add" button .i.e.between Step 1 TextField and Add Button.How can this be achieved through Jetpack Compose?Below is screenshot followed by my current code..

在此输入图像描述

Code-

Column(modifier = Modifier.padding(16.dp)) {

            OutlinedTextField(
                modifier = Modifier.fillMaxWidth(),
                value = step1,
                onValueChange = {
                    viewModel.onStep1Changed(it)
                },
                label = {
                    Text(text = "Step 1...")
                },
                shape = RoundedCornerShape(8.dp),
                colors = TextFieldDefaults.textFieldColors(
                    backgroundColor = Color.Transparent),
                trailingIcon = …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack android-jetpack-compose android-compose-textfield android-compose-button

5
推荐指数
1
解决办法
5409
查看次数

Jetpack Compose:当按钮尺寸较小时如何避免按钮文本消失?

我正在尝试创建一个很小的自定义按钮,可以将 0 到 99 之间的数值显示为文本。根据字体大小,当按钮的大小设置得太小时,即使仍然有空间,文本也会从按钮中消失。尽管按钮尺寸很小,但如何突破这些限制并显示按钮内的数字?

这是我当前的代码:

Button(
    onClick = { /*TODO*/ },
    shape = CircleShape,
    modifier = Modifier
        .size(20.dp)
) {
    Text(
        text = "23",
        fontSize = 7.sp,
    )
}
Run Code Online (Sandbox Code Playgroud)

在此按钮大小下,文本消失。

android android-button android-jetpack-compose android-compose-button android-jetpack-compose-button

5
推荐指数
1
解决办法
4571
查看次数

如何设置 JetpackCompose 按钮​​背景颜色

我在 Jetpack Compose 的 Button 上尝试了背景颜色的代码

Button(
    onClick = {  },
    backgroundColor = Color.Yellow) {
}
Run Code Online (Sandbox Code Playgroud)

但它不再识别了backgroundColor

我尝试了下面的

Button(
    modifier = Modifier.background(Color.Yellow),
    onClick = { }){
}
Run Code Online (Sandbox Code Playgroud)

没有错误,但颜色未设置

我正在使用1.0.0-alpha07Jetpack Compose。如何设置按钮的背景颜色?

android android-button android-jetpack-compose android-compose-button android-jetpack-compose-button

4
推荐指数
2
解决办法
5732
查看次数

如何在 Android Jetpack Compose 中按下按钮后检测按钮释放?

我找到了onClickandonLongClick和 Even的监听器onPress,但是没有像buttonDownand buttonUp、 or onPressand之类的事件/监听器onRelease

我错过了什么吗?我当前的用例是,当用户按下按钮时,我会增加计数,当用户释放按钮时,我会减少计数。但总的来说,我希望用户按下按钮后就开始发生一些事情,并在用户释放按钮时停止。(举个现实生活中的例子,看看 Facebook Messenger 如何录制视频,按住按钮开始录制,松开按钮后录制停止。

我在 Android 上使用 Jetpack Compose。

android android-jetpack android-jetpack-compose android-compose-button android-jetpack-compose-button

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

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

如何使用 jetpack compose 设置按钮的焦点状态?

compose_version = '1.0.0-beta02'。

我可以通过 FocusRequester 设置焦点状态 TextField,但 Button 不能。

        val requester1 = FocusRequester()
       
        TextField(value = text1,
            { newValue ->
                text1 = newValue
            },
            modifier = Modifier
                .focusable(true)
                .focusRequester(requester1)
                .background(focusedColor1)
                .onFocusChanged {
                    focusedColor1 = if (it.isFocused) {
                        text1 = "TextField1 focused"
                        Color.Red
                    } else {
                        text1 = "TextField1 unfocused"
                        Color.Green
                    }
                }

        )
Run Code Online (Sandbox Code Playgroud)

将调用 TextField 的“onFocusChanged”方法。

        val requester3 = FocusRequester()
        Button(
            onClick = {
                requester3.requestFocus()

            },
            modifier = Modifier
                .focusModifier()
                .focusable(true)
                .focusRequester(requester3)
                .onFocusEvent {
                    Toast
                        .makeText(
                            context,
                            "Button onFocusEvent it.isFocused:${it.isFocused}. ${it.name}", …
Run Code Online (Sandbox Code Playgroud)

android android-tv android-jetpack-compose android-compose-button android-jetpack-compose-tv

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