Android 安卓材质设计中的透明白色按钮看起来很糟糕
考虑这两个屏幕截图。我定义了左侧、顶部和右下角的元素: 左/上屏幕截图的所有元素都使用纯白(Android 安卓材质设计中的透明白色按钮看起来很糟糕,android,kotlin,material-design,google-maps-android-api-2,transparency,Android,Kotlin,Material Design,Google Maps Android Api 2,Transparency,考虑这两个屏幕截图。我定义了左侧、顶部和右下角的元素: 左/上屏幕截图的所有元素都使用纯白(#FFFFFF),而下/右屏幕截图增加了一点透明度(#D0FFFFFF)我的问题是我的元素在透明的情况下看起来很可怕。例如,晶圆厂(右下角)无故包含一个较小的不透明圆。 我的所有元素都有标高6(因为这是FAB默认标高)。任何高于标高2的物体都可以清楚地看到这个问题,而低于标高2的物体都不会投射出足够的阴影,使我看起来可以接受 贴图定义元素(右上角)似乎完全不受此影响它有什么不同之处?很明显,它像我一样
#FFFFFF
),而下/右屏幕截图增加了一点透明度(#D0FFFFFF
)我的问题是我的元素在透明的情况下看起来很可怕。例如,晶圆厂(右下角)无故包含一个较小的不透明圆。
我的所有元素都有标高6(因为这是FAB默认标高)。任何高于标高2的物体都可以清楚地看到这个问题,而低于标高2的物体都不会投射出足够的阴影,使我看起来可以接受
贴图定义元素(右上角)似乎完全不受此影响它有什么不同之处?很明显,它像我一样使用透明度,并投射出与标高2或更高对应的阴影
使用的代码基本上如下所示:
fab = FloatingActionButton(this.context!!)
fab.backgroundTintList = ColorStateList.valueOf(Color.parseColor("#d0ffffff"))
fab.compatElevation = 6F
例如,FAB(右下角)包含一个较小的不透明圆
没有理由
后来<代码>工厂标高=6F
您看到的圆是由高程生成的FAB阴影。
如果要删除阴影但保留高程,请执行以下操作:
fab.outlineProvider = null
如果你想同时保留高程和阴影,你必须制作一个自定义大纲图提供程序(可能是香蕉形状的)。啊,我有预感这是工厂在地面/地图上的阴影!不过我确实希望对象周围有黑色阴影(这不是您使用立面的原因吗?),所以遗憾的是
fab.outlineProvider=null
并不能让我高兴。不管怎样,谢谢。如果你不想做自定义轮廓,你可以自己用多层灰色阴影来制作阴影,使其成为渐变绘制,并将其添加为FAB的背景。我认为你的问题没有现成的解决方案。