首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

掌握 Jetpack Compose 中的 State,看这篇就够了

为了实现响应式,Jetpack Compose 使用State对象来感知 UI 状态的变化。...State的值可以是任意类型:如像Boolean或者String一样的简单的基础类型,也可以是一个包含整个渲染到屏幕的 UI 状态的复杂数据类型。...举个例子:文本输入和可组合项状态更新之间存在延迟,在快速输入文本的时候你可能会看到诡异的表现,如下面的视频演示的那样。...TODO 转成 Gif一个简单的规避方式就是把TextInput设计成有状态的可组合项,它将持有需要显示的文本,并通过类似onTextChanged的监听器通知调用方。...通过修改状态更新可组合项目随着我们越多地使用 Compose 自带的可组合项(Scaffolds、BottomSheet、Drawer等),我们会意识到在 Jetpack Compose 中状态是无处不在的

7.4K111

QPushButton 基本使用

定义了按钮的通用行为和属性,文本、图标、状态等。 这些按钮类提供了丰富的选项,它们大多都直接继承自 QAbstractButton,以满足不同类型的用户界面需求。...在本部分,我们将深入了解按钮的常用功能和属性,以便更好地定制和管理按钮的外观和行为。 1、按钮状态的管理: 按钮可以具有不同的状态,例如启用(默认状态)和禁用状态。...hover-background-color: 设置鼠标悬停在按钮时的背景颜色。 前景颜色属性: color: 设置按钮的前景(文本)颜色。...setToolTip("Tooltip text"):设置按钮的工具提示文本,当鼠标悬停在按钮时显示。 这些是按钮的常用功能和属性。...通过创建自定义按钮,您可以实现更复杂的功能和更具个性化的外观。您可以根据需要重写按钮的其他方法和添加其他自定义功能,以实现特定的行为和交互。

46740
您找到你想要的搜索结果了吗?
是的
没有找到

使用 Compose 构建 Wear OS 应用

} }, ) △ Card 可组合项代码 通过上述代码,我们创建出了一个精美的 Card,显示效果如下: △ Card 代码效果 如需获得不同外观的精美卡片显示效果,仅需对代码进行轻微调整即可...下面是实现 Chip 可组合项的代码和实现效果,您会发现它十分易用,同上述的一些代码也大致相似: Chip( modifier = Modifier.align(Alignment.CenterHorizontally...,以 CurvedText 的方式在曲面设备展示。...ScalingLazyColumn 底层是由 LazyColumn 实现的,它只会对即将要在屏幕呈现的内容进行处理,这样能够高效地处理大量数据,且能够以缩放和透明效果进行展示,因此它应该成为 Wear...您会发现代码基本同移动端相同,非常便于理解。

65820

一起看 IO | Jetpack Compose 中的新特性

我们很高兴地看到这些团队在大规模和复杂的生产环境中仔细地评估并使用了 Compose,所带来的结果也不仅是让界面开发更清晰有趣,也带来了更多工程的收益。...Compose 从根本改变了界面的构建方式,为了帮助您实现必要的思维转变,我们将发布更多关于高级主题的指南、演讲和 Codelab,以及更具深度的视频,以便您编写外观和性能同样出色的应用。...文本放大镜 Android 文本提供了放大镜组件,通过放大镜可以更轻松地选择文本。Compose 现已支持文本放大镜。 拖动选择图标时会显示放大镜,以便于您查看指尖下方的内容。...从 Android Studio Dolphin 开始,您可以使用 Layout Inspector 检查可组合项发生重组的频率。预期外的大量重组可以为您指明可优化的可组合项。...例如,您可以通过该 文档 了解关于如何编写和配置您的 Compose 应用以实现最佳性能的建议。

2.2K20

苹果大模型最大动作:开源M芯专用ML框架,能跑70亿大模型

现在,用上这个框架,你就能直接在苹果GPU跑70亿参数大模型、训练Transformer模型或是搞LoRA微调。 它由苹果官方发布,风格与PyTorch相似,不过并不基于任何已有框架实现。...例如JAX中可组合的函数转换,就被加进了MLX的设计中,但graph(计算图)仍然是动态构建的。 除此之外,作者认为MLX也有一些属于自己的特性,简单、灵活和多样性等。...苹果电脑M系列芯片才能用 目前,官方给出了5类MLX的使用参考案例: Transformer架构语言模型的训练 用LLaMA或Mistral进行长文本生成 用LoRA进行参数微调 用Stable Diffusion...作者给出了一系列手把手的教程,教你如何在苹果电脑运行MLX框架。...除此之外,LLaMA在MLX实现细节也非常有意思: 还有不少苹果用户表示高兴:H100稀缺的情况下,终于可以用M3 Max来搞事了。 你试用过MLX了吗?感觉如何?

1.4K10

jquery使按钮置灰不可用

myButton").prop("disabled", true); $("#myButton").css("background-color", "#ccc"); // 如果需要添加文本提示...如果需要给按钮添加文本提示,可以使用attr("title", "按钮已禁用")。...效果演示当您在浏览器中打开包含上述HTML和jQuery代码的页面时,点击“禁用按钮”按钮后,您会发现“点击我”按钮变灰且无法点击,实现了按钮置灰不可用的效果。...this).prop("disabled", true); $(this).css("background-color", "#ccc"); });});通过以上示例代码,我们演示了如何在实际应用场景中结合表单提交操作...特点:当元素被禁用时,其外观通常会发生改变,呈现灰色,并无法触发与鼠标或键盘相关的事件。被禁用的元素不会在表单提交时被包含在表单数据中,也不会被包含在表单中的序列化字符串中。

29510

后台系统设计(下篇:输入)

常见类型 ·输入框 ·步进器/微调器 ·滑块 一、Input 输入框 允许用户输入和编辑文本的区域。 外观 单行文本框,用于输入少量的文本: ? 多行文本,用于输入长字符串,多行文本区域显示: ?...外观 ? 最佳用法 ·步进器用于需要微调数字值的情况,且输入值有大小范围的限制及字符限制需求。...·允许通过点击增加/减少按钮,键入数字,使用键盘快捷键(/下,页面上/下)改变数值。 ·为步进器设置最大和最小值。达到最大/最小值时,增加/减少按钮和/下键盘将被禁用。...外观 单滑块,选择单一的值: ? 双滑块,用于选择值的范围: ? 分段式,不允许选择任意值,默认贴靠分段的值: ? 垂直和水平,根据值的特点及页面情况更加合适的布局: ? 图标数值文本 ?...带有输入框,可输入文本字段,输入数据与滑块同步 ? 最佳用法 ·当用户设置连续值(音量或亮度)或一系列离散值(屏幕分辨率设置)时,可使用滑块。

4K21

后台系统设计(上篇:选择)

外观 常规: ? 分段控件: ? 在单个选项下,存在多组互斥选项,且互斥选项组之间存在一定关系,可以考虑混用分段控件和常规按钮,由于分段控件在视觉占用更大的面积,故给人在层级更加置前。 ?...外观 文档编辑(Word及富文本编辑器)可以说是图标按钮使用的最佳案例,不仅满足多种操作的需求,且节省空间。 ? 排列方式也是图标按钮的常见用法。 ?...外观 常规: ? 带文本或图标: ? 最佳用法 ·左/灰为关,右/彩为开。...上下文菜单,例如,常见的右键操作及文本选择命令(剪切、复制和粘贴等): ? 下拉选择器。多适用于颜色、日历(日月年)、日期、时间等内容: ?...·禁用菜单项,而不是隐藏,以提高功能的可发现性。 ·下拉菜单文本保持简洁扼要,文本内容限制为单行。 ·请根据具体情况,定义列表项的最小和最大宽度,以适应其内容。

9.6K21

如何构建“真正的”元宇宙?

如何定义这个术语,如何在一个元宇宙和另一个虚拟世界之间划分界限?这些是人们关于元宇宙的常见问题,所以在本文中,我们将概述我们如何看待元宇宙,以及元宇宙如何与 Web3 相互交织。...开放式元宇宙也是透明的、无须许可的、可互操作的和可组合的 (其他人可以自由地在元宇宙内部和跨元宇宙进行构建) 等等。 实现一个“真正的”元宇宙——即一个开放而非封闭的元宇宙——需要固有的七个基本要素。...在今天的 Web ,用户需要使用流行的一键式登录方法 (社交登录或单点登录(SSO)) 请求中介代理来进行身份认证。...可组合可组合性是一个系统设计原则,这里特别指的是混合和匹配软件组件 (乐高积木) 的能力。每个软件组件只需要编写一次,之后可以简单地重用。...随着其他远程会议和远程呈现工具( Zoom 等)的使用激增,这场大流行凸显了对超越传统基于文本的通信平台(电子邮件)的更身临其境体验的需求。

60730

优秀组件设计的关键:自私原则

当然,这假定图标总是显示在文本的末尾,但出乎意料的是,在设计下一次迭代时,情况并非如此。 迭代3 以前的Button组件的实现包括文本末尾的图标,但新的设计要求图标可以选择放在文本的开头。...处理本地功能和属性,onClick和disabled。 是的,每个浏览器对按钮元素的外观和显示内容都有自己的版本,但CSS重置通常被用来剥夺这些意见。...与其在单个模态或抽屉组件中用条件props (hasHeader或showFooter)定义每个布局,不如将单个组件分解成多个可组合的子组件。...随着我们的模态的核心职责被定义,以及可组合的子组件方法被决定,让我们来分解每个可组合的部分和它的作用。 组成部分 角色 这是整个 Modal 组件的入口点。...它将负责它的外观,显示的位置,以及它的作用。 标题部分将是本地HTML标题元素的一个抽象。它只不过是一个语义容器,用于显示任何内容,标题或图片。

1.8K30

Button 的 进化之旅 | 我们是如何设计 Compose API 的

此外,我们发现大多数开发者在 Button 实现圆角边缘时,都经历了痛苦的过程,但是本来的预期是非常简单。通常,他们需要浏览多个层次的实现代码,来理解 API 的结构。..."样式" 本质是与 UI 相关的属性的集合,可被应用于组件 ( Button)。样式包含两大主要优点: 1....比如,创建一个 LoginButtonStyle,来定义应用中全部用于登录按钮的外观。...支持工作框架 原始类型的重载使开发者可以避免使用可组合的 lambda 重载,而以较少的自定义空间作为代价。但是当开发者需要在原始类型的重载实现原本无法实现的自定义呢?...唯一的选择,就是使用可组合的 lambda 重载,然后,将内部的实现代码从原始类型重载中复制过来,并做相应的修改。

67800

没想到还能用这种方式学 Vim!

y:复制 d:删除文本,保存到register c:删除文本,保存到register,并开始「插入」模式 OK,了解了「名词」和「动词」,现在便可以应用到「语法规则」中了: y$:把当前所有的东西,从当前位置拖拽至行末...可组合性和语法 在讨论 Vim 语法之后,便是 Vim 的可组合性(Composability)。 可组合性意味着拥有一组通用命令,可以组合起来执行更复杂的命令。...当与外部程序集成时,Vim 的可组合性的真正威力就显现出来了。...乱七八糟」的文字,如下所示: Id|Name|Cuteness 01|Puppy|Very 02|Kitten|Ok 03|Bunny|Ok 现在需要将这些文字转换成为表格形式,若是用 Vim 命令来实现这点可能会有一些困难...例如在本教程中的第五章,便介绍了「如何在文件中移动」。 刚开始用键盘来完成这项任务,肯定是比较慢的,但作者认为: 只要你把这个方法熟悉起来,要比用鼠标还要快。

60420

用聪明的方式学习Vim,不再死记硬背,复杂命令一学就会 | GitHub 2200星

最近,在 GitHub 便出现了一个叫做用聪明的方式学习Vim的项目,上线短短几天时间,便已经斩获2200星。 ? 那么,如此学习Vim的方式,到底有多「聪明」?...y:复制 d:删除文本,保存到register c:删除文本,保存到register,并开始「插入」模式 OK,了解了「名词」和「动词」,现在便可以应用到「语法规则」中了: y$:把当前所有的东西,从当前位置拖拽至行末...可组合性和语法 在讨论 Vim 语法之后,便是 Vim 的可组合性(Composability)。 可组合性意味着拥有一组通用命令,可以组合起来执行更复杂的命令。...乱七八糟」的文字,如下所示: Id|Name|Cuteness 01|Puppy|Very 02|Kitten|Ok 03|Bunny|Ok 现在需要将这些文字转换成为表格形式,若是用 Vim 命令来实现这点可能会有一些困难...例如在本教程中的第五章,便介绍了「如何在文件中移动」。 刚开始用键盘来完成这项任务,肯定是比较慢的,但作者认为: 只要你把这个方法熟悉起来,要比用鼠标还要快。

62230

用聪明的方式学习Vim,复杂命令一学就会 | GitHub 2200星

最近,在 GitHub 便出现了一个叫做用聪明的方式学习Vim的项目,上线短短几天时间,便已经斩获2200星。 ? 那么,如此学习Vim的方式,到底有多「聪明」?...y:复制 d:删除文本,保存到register c:删除文本,保存到register,并开始「插入」模式 OK,了解了「名词」和「动词」,现在便可以应用到「语法规则」中了: y$:把当前所有的东西,从当前位置拖拽至行末...可组合性和语法 在讨论 Vim 语法之后,便是 Vim 的可组合性(Composability)。 可组合性意味着拥有一组通用命令,可以组合起来执行更复杂的命令。...乱七八糟」的文字,如下所示: Id|Name|Cuteness 01|Puppy|Very 02|Kitten|Ok 03|Bunny|Ok 现在需要将这些文字转换成为表格形式,若是用 Vim 命令来实现这点可能会有一些困难...例如在本教程中的第五章,便介绍了「如何在文件中移动」。 刚开始用键盘来完成这项任务,肯定是比较慢的,但作者认为: 只要你把这个方法熟悉起来,要比用鼠标还要快。

1.3K20

IDEA 又双叒叕 更新 大版本了 , IntelliJ IDEA 2022.3 正式发布,详情 请参考博文

用户体验 将工具窗口停靠到浮动编辑器选项卡的选项 为了让您可以更轻松地安排工作空间并在多个显示器与 IntelliJ IDEA 交互,我们实现了将工具窗口拖出主窗口并将其停靠到浮动编辑器选项卡的选项。...打开可用意图操作列表并将鼠标悬停在不同选项时会显示预览。...| 外观)中管理。...Find Usages(查找用法)结果中的相似用法集群 Find Usages(查找用法)现在提供有关代码元素如何在项目中使用的更深入信息。...现在,如果在没有选择代码的情况下复制 (⌘C) 或剪切 (⌘X) 一行,粘贴操作会将剪贴板的内容添加到当前行上方,而不是像旧版本一样添加到文本光标处。

16210

NeurIPS 2023 | CoDi: 利用可组合扩散实现任意组合模态的处理与生成

这是一种新的生成模型,能够处理任意组合模态输入,语言、图像、视频和音频,进而生成任意组合模态输出。...视频、图像、音频和文本(由彩色箭头描绘的示例组合) 近年来,强大的跨模态模型兴起,这些模型可以实现从一种模态到另一种模态的生成,文本文本文本到图像、文本到音频等。...作者从一个预训练的文本-图像配对编码器(即CLIP)开始,随后使用对比学习的方式在音频-文本和视频-文本配对数据集训练音频和视频Prompt编码器,并在此过程中冻结文本和图像编码器的权重。...得益于作者提出的桥接对齐与可组合多模态推理方案,该模型仅在单一条件训练后就能实现对多条件的零样本推理。...结论 本文提出了一种具有开创性的多模态生成模型:可组合扩散模型(CoDi),它能够处理和生成由文本、图像、视频和音频组成的任意组合模态。

42040

Jetpack Compose Alpha 版现已发布!

开发者们通过构建应用演绎价值和实现理想。开发效率的提升离不开三个重要因素: 编程语言、集成开发环境 (IDE) 以及用户界面 (UI) 框架。...能在构建 UI 更加高效!...Animations Constraint Layout 无障碍初步支持 输入和手势 与视图的互操作性 (可以在您现有的 app 中混合可以组合的功能) 懒加载列表 Material UI 组件 性能优化 测试 文本和可编辑文本...的紧密合作下,我们也为 Android Studio 4.2 canary 添加了一系列新功能来帮助您使用 Compose 构建应用: Compose 代码自动补全 Compose 预览注解 部署单个可组合的组件到任何设备...如果您正在构建一个新的 app,最好的选择可能是使用 Compose 来实现 app 的整个 UI 界面。

4.1K30

WordPress 非常好用的后台优化加速插件

二、优化菜单:管理菜单隐藏,隐藏不经常使用或觉得没必要的菜单选项,来实现加速效果。...禁用后将使用系统字体,微软雅黑和苹果方正字体 禁用工具栏:禁用前端用户登录后顶部工具栏显示 移除版本号:移除前端网站头部 WordPress 版本号代码 移除离线接口:禁用使用离线投稿发布功能,...服务功能, 如果不需要使用 WordPress App 发表文章, 建议关闭 优化菜单:网站管理菜单隐藏设置 移除文章:屏蔽左侧文章菜单 移除媒体:屏蔽左侧媒体菜单 移除页面:屏蔽左侧页面菜单 移除外观...:屏蔽左侧外观菜单 移除工具:屏蔽左侧工具菜单 移除用户:屏蔽左侧用户菜单 移除评论:屏蔽左侧评论菜单 移除插件:屏蔽左侧插件菜单 移除隐私:屏蔽左侧隐私页面 仪表盘:仪表盘小工具模块屏蔽设置...:移除小工具文本模块 移除文章归档:移除小工具文章归档模块 移除日历:移除小工具日历模块 移除标签云:移除小工具标签云模块 移除画廊:移除小工具画廊模块 移除自定义 HTML:移除小工具自定义

1.4K30
领券