码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Jetpack Compose - Button按钮使用


    效果

    这只是简单效果
    在这里插入图片描述

    普通使用

      Button(onClick = {
                    showToast("点击了")
                }, Modifier.padding(vertical = 9.dp)) {
                    Text(text = "文字")
                }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    可以设置形状

     Button(
                    onClick = {
                        showToast("点击了")
                    },
                    Modifier.padding(vertical = 9.dp),
    
                    border = BorderStroke(2.dp, Color.Green),//边框颜色
                    shape = RoundedCornerShape(
                        topStart = 5.dp,
                        topEnd = 6.dp,
                        bottomEnd = 10.dp,
                        bottomStart = 10.dp
                    )
    //也可以设置形状
                ) {
                    Text(text = "形状")
                }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    设置图片位置

    简单来说就是一个布局可以随意了
    只是更改代码位置

     Button(onClick = {
                    showToast("点击了")
                }, Modifier.padding(vertical = 9.dp)) {
                    Column(
                    ) {
                        Image(
                            painter = rememberImagePainter(data = R.drawable.bg_iamge),
                            contentDescription = "",
                            Modifier
                                .clip(CircleShape)
                                .size(30.dp),
                            contentScale = ContentScale.Crop,
                        )
                        // 添加间隔
                        Spacer(Modifier.size(ButtonDefaults.IconSpacing))
                        Text(text = "在上")
                    }
                }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    其余效果

    1. Compose内置了几十个常用的图标,我们使用枚举类型即可使用
      Icons里面定了5种类型Outlined Filled Sharp TwoTone Rounded,可以根据自己的需要选择不同的类型,如填充型(Filled)或者是轮廓型(Outlined)
    Button(onClick = { println("点击了按钮")}){
        Icon(Icons.Default.Search,contentDescription = null)
        Text(text = "测试")
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.还可以设置 点击状态变换shap 等这个可以拓展很多一切靠想象
    在这里插入图片描述

    //如果是按压状态则是切角形状,否则则是圆角形状 
        val myShape = if(pressState.value) CutCornerShape(10.dp) else RoundedCornerShape(10.dp)
    
        Column(
            Modifier.padding(20.dp)
        ) {
            Button(
                onClick = { /*TODO*/ },
                //设置我们定义的shape
                shape = myShape,
                //设置创建的MutableInteractionSource对象
                interactionSource = myInteractionSource
            ) {
                Text("你好")
            }
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    参考链接:
    图标(Icon) 按钮(Button) 输入框(TextField) 的使用
    Jetpack Compose - Button
    Android Compose Button按钮控件

  • 相关阅读:
    CS144(2023 Spring)Lab 1: stitching substrings into a byte stream
    数据压缩与管理:掌握Linux VDO和LVM的力量
    Linux面试题2:网络IO模型 & IO多路复用
    springcloudalibaba架构(20):链路追踪ZipKin数据持久化至elasticsearch
    Docker安装Nacos持久化到Docker安装的Mysql
    老风控的心声:风控的“痛”与“恨”|内卷当下,单做好风控已远远不够
    虎扑论坛数据分析
    时间在情绪周期视角来看也是不存在的
    SQL Server修改表结构
    camke bash
  • 原文地址:https://blog.csdn.net/sinat_41890480/article/details/126257210
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号