Android Jetpack Compose —— FloatingActionButton

news2024/9/23 21:31:54

        FloatingActionButton 通常用于呈现应用程序的主要操作或常用操作,并具有显著的圆形形状和浮动的定位。FloatingActionButton 提供了一种简单而优雅的方式来引导用户进行主要的应用程序交互,例如开始一个新的任务、分享内容、启动一个动作等。它在应用程序界面中的悬浮位置使得用户可以方便地访问它,而不会占据太多屏幕空间。


一、FloatingActionButton的使用

  1. 添加依赖项:在项目的 build.gradle 文件中,确保已添加 Jetpack Compose 的依赖项。例如:
implementation "androidx.compose.material:material:1.2.0"

   2. 创建 FloatingActionButton:使用 FloatingActionButton 组件来创建悬浮操作按钮。可以在 Composable 函数中使用 FloatingActionButton 组件,

例如:

import androidx.compose.material.*
import androidx.compose.runtime.Composable

@Composable
fun MyScreenContent() {
    Scaffold(
        floatingActionButton = {
            FloatingActionButton(onClick = { /* 处理点击事件 */ }) {
                // 在这里添加按钮图标或内容
            }
        }
    ) { innerPadding ->
        // 添加其他内容或界面元素
    }
}

    3. 定义点击事件:为 FloatingActionButton 添加 onClick 参数,并在点击时执行所需的操作。可以在 onClick 参数中定义一个 Lambda 表达式,或者调用一个命名函数。 

FloatingActionButton(onClick = { /* 处理点击事件 */ }) {
    // 在这里添加按钮图标或内容
}

   4. 自定义外观和样式:可以通过修改 FloatingActionButton 的属性来自定义其外观和样式。例如,可以设置按钮的背景颜色、形状、图标、大小等。

FloatingActionButton(
    onClick = { /* 处理点击事件 */ },
    backgroundColor = MaterialTheme.colors.primary,
    shape = CircleShape,
    content = {
        Icon(Icons.Filled.Add, contentDescription = "Add")
    },
    modifier = Modifier.size(56.dp)
)

   5.在界面中使用 FloatingActionButton:将创建的 FloatingActionButton 添加到相应的界面中。可以使用 Scaffold 组件来创建一个包含 FloatingActionButton 的界面。

@Composable
fun MyScreenContent() {
    Scaffold(
        floatingActionButton = {
            FloatingActionButton(onClick = { /* 处理点击事件 */ }) {
                // 在这里添加按钮图标或内容
            }
        }
    ) { innerPadding ->
        // 添加其他内容或界面元素
    }
}

案例1: 

 

 

        FloatingActionButton 在现代应用程序设计中非常重要,因为它提供了一种直观和可见的方式来呈现主要操作。它不仅使用户界面更加美观,而且增强了用户体验,使用户能够更轻松地与应用程序进行交互。无论是在移动应用程序还是在平板电脑或桌面应用程序中,FloatingActionButton 都是一种非常实用的设计元素,有助于提高应用程序的可用性和可访问性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java——《面试题——Zookeeper篇》

前文 java——《面试题——基础篇》 Java——《面试题——JVM篇》 Java——《面试题——多线程&并发篇》 Java——《面试题——Spring篇》 Java——《面试题——SpringBoot篇》 Java——《面试题——MySQL篇》​​​​​​ Java——《面试题——SpringCloud》 Java…

FreeRTOS 中断管理之延迟中断处理 -- 二值信号量同步

3.1 概览 3.1.1 事件:嵌入式实时操作系统需要对整个系统环境产生的事件作出反应,例如:按一下按键,灯闪一下 3.1.2 ISR 中断服务函数尽量越短越好,应快速执行完,然后退出中断服务函数 3.1.3 在中断服务函…

Web3在HTML中获取 MetaMask 启用的用户列表

当然 我们还是要先启动ganache环境 然后 通过MetaMask 导入一些用户 然后 我们需要在页面中引入 web3.min.js 如果您还没有这个文件 可以查看我的文章web3.js获取导入 然后我访问官网 https://learnblockchain.cn/docs/web3.js/web3-eth.html#getchainid 打开后 先来到 web3.…

OAuth2.0四种授权模式及实战

OAuth2.0四种授权模式以及Oauth2.0实战 首先我们得了解什么是Oauth2.0,简单来说Oauth2.0它是一个授权协议。我们可能会听说过,使用Oauth2.0来实现单点登录SSO,以及第三方登录。那个什么是授权? 举个通俗易懂的例子,就…

概率论与数理统计教程第六章节笔记

参考书籍:概率论与数理统计教程第三版 茆诗松 程依明 濮晓龙 编著 文章声明:如有错误还望批评指正 文章目录 ξ \xi ξ 6.1点估计的概念与无偏性 ξ 6.2 \xi6.2 ξ6.2矩估计及相和性 ξ 6.3 \xi6.3 ξ6.3最大似然估计与EM算法 ξ 6.6 \xi6.6 ξ6.6区间估…

Pandas 解决保存excel文件发生异常问题

代码: #保存excel my.to_excel(df.xlsx,#设置Excel1的工作表名sheet_name表1) 异常: 原因:没有导入这个库openpyxl 解决: 1) 使用 pip list 查看 2) 如果没有,则安装 pip install openpyxl 3) 再导入 import openpyx…

uniapp中引入uview教程

uview官网,本次教程中用不到,若需要查看官网教程,可点击前往 1、在插件市场中搜索uview,并导入项目,点击前往 2、如果没有安装scss,需要安装scss依赖,如已安装,请跳过 // 安装sass…

【刷题笔记】反转链表——头插法/栈实现

【刷题笔记】反转链表——头插法/栈实现 解法一:头插法 思路及代码: * 1、创建一个newheadnull,即最终反转后的链表的头结点* 2、循环遍历当前的链表的head,创建temp记录当前head的next,然后将head的next指向新的头ne…

Acer宏碁Swift笔记本电脑SF314-54原装Win10系统工厂模式恢复原厂OEM出厂系统镜像

Acer宏基,Acer宏碁Swift笔记本电脑,Swift SF314-54原装Windows10系统工厂模式恢复原厂OEM出厂状态镜像 系统自带所有驱动、Office办公软件、出厂主题壁纸LOGO、 Acer Care Center、Quick Access等预装程序 所需要工具:32G或以上的U盘&#…

springboot+vue高校科研队伍管理系统_2byeq-

1.登录和注册:创建用户密码后用户输入正确用户密码即可登录,超级管理员可查看平台内所有账号信息。 2.个人信息管理:支持修改个人信息以及保存。 3.科研队伍管理:支持创建科研队伍,个人可以创建队伍后自己成为组长&…

uniapp倒计时

uniapp实现根据传递的时间展示倒计时 需求说明:听书倒计时,设置完时间展示倒计时 countDownTime(showTime){ //showTime为传递的时间 默认在转化成分钟var that this;that.times showTime * 60that.timer setInterval(function() {that.times--;if(th…

教程 | Datavines 自定义数据质量检查规则(Metric)

Metric 是 Datavines 中一个核心概念,一个 Metric 表示一个数据质量检查规则,比如空值检查和表行数检查都是一个规则。Metric 采用插件化设计,用户可以根据自己的需求来实现一个 Metric。下面我们来详细讲解一下如何自定义Metric。 第一步 …

WPF 零基础入门笔记(3):数据绑定详解(更新中)

文章目录 文章合集数据绑定数据绑定实战事件通知型数据驱动,双向绑定资源绑定数据源绑定全局数据源后端和前端绑定问题 文章合集 WPF基础知识博客专栏 WPF微软文档 WPF控件文档 B站对应WPF数据绑定视频教程 数据绑定 我们在之前的文章中,详细解释了数…

windows配置jmeter定时任务

场景: 需要让脚本在指定的执行 步骤: 准备jmeter脚本,保证在命令行中可以调用脚本且脚本运行正常:"C:\Apache\jmeter\bin\jmeter.bat" -n -t C:\tests\test_plan.jmx -l C:\tests\results.jtl -t : 指定执行jmeter脚…

chatgpt赋能python:Python计算CCI指标的介绍

Python计算CCI指标的介绍 CCI(Commodity Channel Index)是一种技术指标,是推断价格高低位和趋势变化的一种工具。通过计算股票、期货、外汇和其他市场的典型价格、最高价和最低价以及CCI的值,可以预测未来价格趋势并进行交易。 …

Solidity第二次作业

目录 第一题 第二题 第三题 第四题 第五题 第六题 第一题 // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.6.0; contract math { //1.根据所属类型值域,修改变量numa与numb值 uint8 numa 256; int8 numb 128; int numc 255; fun…

安科瑞无线测温系统在高压开关柜中的应用

摘要:高压开关柜是配电系统中重要的组成部分,其主要作用是控制电荷、分配电能和开断电流等,对维持系统的稳定性有一定的保障作用。将无线测温技术应用于高压开关柜,可以实现对其进行实时的动态监测,有助于相关工作人员…

使用CSS的polygon属性画各个方向的半圆环

CSS的polygon属性 CSS polygon()函数是一个图形函数,用于指定某种基本图形类型。polygon()函数用于定义一个多边形 .container{width: 50px;height: 50px;border: 13px solid #0c73fe;border-radius: 50px;/* 上半圆环 */clip-path: polygon(100% 50%, 0 50%, 0 0, …

Redis cluster集群搭建集群增删集群节点

1.Redis cluster集群架构(本机ip:192.168.2.100) 建立三台linux服务器,分别是192.168.2.61、192.168.2.62、192.168.2.63 1.1.建立192.168.2.61Linux服务器 1.配置Linux服务器 # 在 /etc/sysconfig/network-scripts/ifcfg-eno16777736文件…

C# 读写ABPLC( Allen Bradley)

1.安装 libplctag.net库 GitHub - libplctag/libplctag.NET: This is a .NET wrapper for libplctag. 2.PLC IP和tag 3.写入值 var myTag new TagReal(){//Name is the full path to tag. Name "HMI_F26[0]",//Gateway is the IP Address of the PLC or communicat…