【发布时间】:2017-12-23 22:46:31
【问题描述】:
很简单:如何保证图标背景透明生效?
我在透明背景上有带有文本或图像的图标和启动画面。当安装在 Android 设备(多个/每个设备)上时,我没有按预期显示图标,而是得到一个白色方块,并且启动画面往往以黑色背景显示。
这是我希望我的图标看起来的样子(适用于浏览器、普通图片查看器、Playstore 等):
基本上,我得到了这个:
对不起这个蹩脚的例子。这是我用油漆手工制作的。我的 MainActivity 看起来像这样...
[Activity(LaunchMode = LaunchMode.SingleTop, MainLauncher = true, Label = "myapp", Icon = "@drawable/icon", Theme = "@style/splashscreen", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{...
我的 styles.xml 看起来像这样:
<style name="splashscreen" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splashscreen</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
</style>
【问题讨论】:
-
@SushiHangover 没有?如果我应该将其用于启动画面或图标,那么任何指南中都没有提到。如:developer.xamarin.com/guides/android/user_interface/… 或这里:developer.xamarin.com/guides/android/advanced_topics/…
-
@SushiHangover 仅供参考:我的图片可能令人困惑......由于知识产权(无法显示有问题的实际图标),我无法分享 Android 应用程序列表或主屏幕等的真实屏幕截图。
-
应该没问题,你的启动画面drawable的格式是什么?
-
@SushiHangover 这是一个 320x480 png(其他大小取决于可绘制文件夹/设备大小)。它的顶部有徽标,下面有一些文字(大部分都是黑色)和透明背景。启动画面仅在启动时显示为黑色,而任何黑色(我的启动画面/徽标的大部分都是黑色的)最终都变得不可见。我尝试在styles.xml 中将背景设置为白色。但是,这最终只会使启动画面变白,我只看到白色而不是白色上的黑色。它就像 Xamarin 只是不支持具有透明飞溅的背景。
-
@SushiHangover 老实说......我可能不应该提到启动画面,因为考虑到它,我可以让它不透明,给它一个背景,一切都应该很好。尽管 xamarin 似乎不支持透明飞溅很烦人。我更关心为什么工具栏、应用程序列表等的图标没有按预期呈现——它们周围有一个白色方块/框而不是透明的。