我创建了一个 SplashScreen,使用我自己的主题......
<style name="AppTheme.Launcher">
<item name="android:windowBackground">@drawable/splash_test</item>
</style>
...在应用加载时应用为应用的主题...
android:theme="@style/AppTheme.Launcher"
...然后在启动的Activity的onCreate中更改为AppTheme:
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
一切正常,但我有一个有趣的问题。使用 Launcher 主题的所有屏幕预览,现在看起来像:
我就是不能这样工作。 =)
我怎样才能避免这个“问题”?
最佳答案
在你@drawable/splash_test
您可以为 tools
设置可为空的可绘制对象或只是不同的颜色命名空间。
例如,当您有这种类型的启动画面(只是颜色 + 图标)时:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:opacity="opaque">
<item android:drawable="@color/color_background" />
<item
android:width="200dp"
android:height="150dp"
android:drawable="@drawable/splash_logo"
android:gravity="center" />
</layer-list>
您可以设置新的drawable
在 tools
命名空间:<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" <--- ADDED THERE #1
android:opacity="opaque">
<item
android:drawable="@color/color_background"
tools:drawable="@color/color_for_preview" /> <--- ADDED THERE #2
<item
android:width="200dp"
android:height="150dp"
android:drawable="@drawable/splash_logo"
android:gravity="center"
tools:drawable="@color/color_for_preview" /> <--- ADDED THERE #3
</layer-list>
所以对于 tools
像Android Studio Preview,会有color_for_preview
颜色。
关于android - 在 Android Studio 中的每个预览中都会显示闪屏主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55441585/