我正在开发一个应用程序,我们希望在更大的设备上增加浮动操作按钮的大小。
问题是浮动操作按钮只有两种尺寸(mini
和normal
)。
首先,我尝试将自定义android:layout_height
和android:layout_height
设置为我的工厂,但它没有用。好吧,整个布局确实实际上变大了,但是在工厂周围出现了边框,背景并不完全透明。
急需解决方案我创建了自己的圆形按钮视图并替换了浮动操作按钮。但那还不够好。我不会有很酷的连锁反应或工厂的其他所有东西。
之后,我开始阅读浮动操作按钮的源代码,但它变得非常复杂,所以我决定休息一下并在这里发布我的问题。
那么,有没有人知道如何增加浮动动作按钮的大小?
编辑20/7/2016
我的问题确实类似于this one。但是,我问如何增加Button的默认大小,而不是如何添加新大小。
答案 0 :(得分:8)
设计库将这些参数用于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>
如果您想使用自己的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);
}
}
但请确保缩放所有内容,以使宽高比不会发生变化。
答案 1 :(得分:2)
如果您想要快速解决方案,只需定义工厂并使用代码
float val = 1.3f;
fab.setScaleY(val);
fab.setScaleX(val);