如何更改 Android 上浮动操作按钮 (FAB) 的形状?

2023-12-21

在我们的 Android 应用程序中,我们需要创建一个浮动操作按钮,它不是默认的圆形,而是带有三个圆角的正方形。该晶圆厂如下图所示:

我设法创建了这样一个表单,但不知道如何将其应用到我的工厂,或者是否可能。形状的 xml 文件如下所示:

   <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
    <solid android:color="@color/red" />
    <corners
      android:topLeftRadius="90dp"
      android:topRightRadius="90dp"
      android:bottomRightRadius="90dp"/>
   </shape>

我试图改变形式

android:src="@drawable/my_shape"

但这只会改变我按钮内的图标。 我想我需要扩展 FloatingActionButton 但我不知道如何扩展。

有没有办法改变晶圆厂的形状?如果有人已经实现了这一点,我将很高兴看到一个示例。


通过材料组件库,您可以使用shapeAppearanceOverlay:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    app:shapeAppearanceOverlay="@style/fab_3_rounded"
    .../>

with:

<style name="fab_3_rounded">
    <item name="cornerFamily">rounded</item>
    <item name="cornerSize">50%</item>
    <item name="cornerSizeBottomLeft">0dp</item>
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 Android 上浮动操作按钮 (FAB) 的形状? 的相关文章

  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 是否可以将 Cypress e2e 测试与 firebase auth 项目结合使用?

    我正在探索 Cypress 进行 e2e 测试 看起来是很棒的软件 问题在于身份验证 Cypress 文档解释了为什么使用 UI 非常糟糕here https docs cypress io guides getting started t
  • 修改 ADW Android 启动器?

    我想更改和修改开源 ADW 启动器 启动器可在此处获取 https github com AnderWeb android packages apps Launcher https github com AnderWeb android p
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp
  • 期望最大化算法的数值示例[重复]

    这个问题在这里已经有答案了 由于我不确定给出的公式 有人可以提供 EM 算法的简单数字示例吗 一个非常简单的具有 4 或 5 个笛卡尔坐标的坐标就可以了 那这个呢 http en wikibooks org wiki Data Mining
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮
  • 使用 Python 生成类似于 Messenger 或 kik 代码的圆形二维码

    我可以使用 Python 生成圆形 QR 码 就像 Facebook Messenger 或 kik 使用的那样吗 我访问了很多网站 但找不到这种类型的二维码 默认情况下 Python 生成方形 QR 码 但在我的项目中我想要圆形 QR 码
  • Rails 7 缺失部分

    我正在升级到 Rails 7 1 并在使用 JS 部分的视图中遇到奇怪的错误 缺少部分 account stripe js erb application stripe js erb 与 locale gt fr formats gt ht
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt
  • 为什么这个函数在额外读取内存时运行速度如此之快?

    我目前正在尝试了解 x86 64 上某些循环的性能属性 特别是我的 Intel R Core TM i3 8145U CPU 2 10GHz 处理器 具体来说 在循环体内添加一条额外的指令来读取内存几乎可以使性能提高一倍 而细节并不是特别重
  • 将 viewbag 从操作控制器传递到部分视图

    我有一个带有部分视图的 mvc 视图 控制器中有一个 ActionResult 方法 它将返回 PartialView 因此 我需要将 ViewBag 数据从 ActionResult 方法传递到 Partial View 这是我的控制器
  • 绘制大位图时 nSyncAndDrawFrame 速度极慢

    我想用多个大位图优化视差滚动视图 在我的 Nexus 5 上 一切都很顺利 Traceview 转储如下所示 doFrame 方法大约需要 18 毫秒才能完成 但是 当使用我的 Nexus 7 或 Android 6 模拟器 Genymot
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 从 void ** 到 char ** 的转换有多危险

    所以我们知道标准并不强制指针大小相等 here https stackoverflow com questions 1241205 are all data pointers of the same size in one platform
  • jQuery:如何获取表单提交时单击了哪个按钮?

    我有一个 submit 为表单提交设置的事件 我的页面上还有多个表单 但本示例仅提供一个表单 我想知道在没有应用的情况下单击了哪个提交按钮 click 事件对每个人来说 这是设置
  • HTTP 请求标头

    好的 我一直在使用原始 HTTP 请求 发现我可以将原始 HTTP 响应发布到 NSLog 中 并且我几乎已经将原始 HTTP 请求破解到 NSLog 中 我现在有点卡住了 代码示例 NSString CurrentWebURL webVi
  • 日历中的重复事件 - Rails

    我正在寻找对重复事件进行建模的最佳方法 我正在使用 fullcalendar 来显示事件 但我认为重复事件最好在 Rails 后端处理 我已经查看了其他问题和现有示例代码 但没有找到任何合适的内容 它的行为应该类似于谷歌日历 所以应该可以删
  • 如何通过新的 RTTI 设置事件处理程序? [D2010]

    在使用新的 RTTI 模块时 我找不到使用新实用程序设置事件处理程序的方法 尝试这样的事情 LProp TRttiContext Create GetType Form1 ClassInfo AsInstance GetProperty O
  • C语言中如何截断文件?

    我正在使用 C 将一些数据写入文件 我想删除文件中以前写入的文本 以防它比我现在写的长 我想减小文件的大小或截断直到最后 我怎样才能做到这一点 如果您想将文件的先前内容保留到一定长度 大于零的长度 其他答案提供了 则 POSIX 提供tru
  • 计算 Woocommerce 中每个订单状态的不同订单状态计数和总现金

    我需要在 woocommerce 查询中获取几天之间不同状态的订单总数 为了让它循环遍历某天之间的所有订单 我使用以下查询 args array post type gt shop order post status gt publish
  • 获取 I/art:显式并发标记清除 GC 释放

    我正在启动一个服务 gt 后台服务 并开始检查 新线程 中的文件 在日志中我得到以下内容 服务 应用程序被暂停 Log I art Explicit concurrent mark sweep GC freed 25935 1686KB A
  • 如何在 Android 上使用 MediaStore 将数据从相机保存到磁盘?

    对于我的应用程序 我一直在使用自己的 Camera 类来拍摄图像和自己的数据库 但很快我就无法真正跟上变化 我决定使用 Android 中的内置相机应用程序来完成这项工作 但是我似乎无法让它保存文件 我在这里缺少什么 应用程序似乎保存了文件
  • Magento - 使用购物车页面上的自定义模块添加自定义块

    我创建了一个自定义模块 并尝试在购物车表之后和总计框之前包含一个块 但我无法将其放在那个确切的位置 我可以让我的块出现在内容部分中 就在其他所有内容的下方 但不在中间 如果我覆盖 checkout xml 和 cart phtml 那么我可
  • 如何向 spaCy tokenizer 添加自定义规则以将 HTML 分解为单个标记?

    我知道有很多资源可以解决这个问题 但我无法让 spaCy 完全满足我的要求 我想向我的 spaCy 分词器添加规则 以便 HTML 标签 例如 br 等等 在我的文本中将是一个标记 我现在正在使用 merge noun chunks 管道
  • 没有强烈扭曲的纹理球体

    我在几款游戏中看到过纹理良好的球 行星和其他球形物体 上次是在 UFO 余波 中 如果你只是将纹理泼洒到纬度 经度作为 u 和 w 坐标 你会得到很多难看的纹理扭曲到极点 我可以认为自己是实现失真最小的球形贴图的一种方法 通过映射三角形而不
  • 将多个 ggplot2 绘图与网格对齐

    Context 我想在同一页面上绘制两个具有相同图例的 ggplot2 http code google com p gridextra wiki arrangeGrob http code google com p gridextra w
  • 为什么 2px 边框在 Firefox 和 Chrome 中渲染的高度高于 2px?

    我正在尝试用两种不同的方式创建一条线 一种是高度为 2px 的 div 和背景 红色 另一个是带有 2px 顶部边框 蓝色 的 div 这是测试代码 line display inline block vertical align top
  • 一个java UDP套接字可以处理多少个请求?

    我需要构建一个 UDP 服务器 它可以处理每秒约 10 000 个请求 从下面的代码开始 测试 java 套接字是否可以处理这些数量的请求 我用大约 9000 个请求轰炸服务器一分钟 Total number of requests sen
  • 使用 Seaborn FacetGrid 设置日期标签格式

    我想制作一个分面网格 以变量名称为列 以部门为行 每个小图表是 y value 和 x date 的散点图 我的数据有点像这样 import pandas as pd import numpy as np import seaborn as
  • 如何使用 jQuery 更改多个元素的样式?

    我有一个 CSS 样式表 其规则如下 h1 h2 h3 h4 contentheading title font size 13px font weight normal font family Arial Geneva Helvetica
  • AsyncValidators 会一直触发吗?

    我正在使用 angular js 1 6 4 版本 我创建了一个用于服务器端验证的指令 我发现它在加载表单时触发 这是错误的 我只想在更改值时触发我的代码 我的 HTML 代码是 div class col xs 6 div class c
  • 在 Android 中将外部缓冲区导入 Vulkan 时出现问题

    我正在尝试使用 Vulkan 在 Android 10 中显示图像 管道看起来像这样 MediaCodec gt ImageReader gt AHardwareBuffer 传递到 Vulkan 上下文 gt 映射到 Vulkan gt
  • 如何更改 Android 上浮动操作按钮 (FAB) 的形状?

    在我们的 Android 应用程序中 我们需要创建一个浮动操作按钮 它不是默认的圆形 而是带有三个圆角的正方形 该晶圆厂如下图所示 我设法创建了这样一个表单 但不知道如何将其应用到我的工厂 或者是否可能 形状的 xml 文件如下所示