Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓材质设计中的透明白色按钮看起来很糟糕_Android_Kotlin_Material Design_Google Maps Android Api 2_Transparency - Fatal编程技术网

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的背景。我认为你的问题没有现成的解决方案。