【问题标题】:Is it possible to increase Floating Action Button size on Android?是否可以在 Android 上增加浮动操作按钮的大小?
【发布时间】:2016-04-01 21:19:38
【问题描述】:

我正在开发一个应用程序,我们希望在更大的设备上增加浮动操作按钮的大小。

问题在于浮动操作按钮只有两种尺寸(mininormal)。

首先,我尝试为我的工厂设置自定义android:layout_heightandroid:layout_height,但没有成功。嗯,整个布局确实实际上变大了,但是晶圆厂周围出现了边框,并且背景不是完全透明的。

急需解决方案,我创建了自己的圆形按钮视图并替换了浮动操作按钮。但这还不够好。我不会有很酷的连锁反应或晶圆厂拥有的其他一切。

在那之后,我开始阅读 Floating Action Button 的源代码,但它变得非常复杂,所以我决定休息一下,在这里发布我的问题。

那么,有人知道如何增加浮动操作按钮的大小吗?

2016 年 7 月 20 日编辑

我的问题确实类似于this one。但是,我问的是如何增加Button的默认大小,而不是如何添加新的大小。

【问题讨论】:

  • 如果没有,请在 GitHub 上查找浮动操作按钮。也许是like thisthis
  • @joaquin 谢谢,我会看看,但我不会抱太大希望。他们不会改变晶圆厂的大小。但我会仔细看看,也许我错了。
  • 只要使用android设计支持库中的fab,它就会允许你这样做。
  • @Rino 编辑了我的问题。

标签: android floating-action-button


【解决方案1】:

设计库将这些参数用于 Fab:

<dimen name="design_fab_elevation">6dp</dimen>
<dimen name="design_fab_translation_z_pressed">6dp</dimen>
<dimen name="design_fab_content_size">24dp</dimen>
<dimen name="design_fab_size_normal">56dp</dimen>
<dimen name="design_fab_size_mini">40dp</dimen>
<dimen name="design_fab_border_width">0.5dp</dimen>

Ref

如果您想使用自己的 Fab,您可以扩展设计支持库或复制整个类并在源代码中替换您自己的尺寸,例如在

final int getSizeDimension() {
    switch (mSize) {
        case SIZE_MINI:
            return getResources().getDimensionPixelSize(R.dimen.design_fab_size_mini);
        case SIZE_NORMAL:
        default:
            return getResources().getDimensionPixelSize(R.dimen.design_fab_size_normal);
    }
}

Ref

但请确保缩放所有内容,以免纵横比发生变化。

【讨论】:

  • 我想过抄全班,但结果没那么容易。另外,我害怕弄乱纵横比。覆盖设计库尺寸是一个聪明的想法,它有效!谢谢!
【解决方案2】:

如果您想要一个快速的解决方案,只需定义一个工厂并在代码中使用

float val = 1.3f;
fab.setScaleY(val);
fab.setScaleX(val);

【讨论】:

  • 不错的干净解决方案 - 也适用于 xml:android:scaleX="1.5"android:scaleY="1.5"
猜你喜欢
  • 1970-01-01
  • 2018-01-20
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多