gpt4 book ai didi

android改变背景颜色太慢

转载 作者:行者123 更新时间:2023-11-29 21:06:08 25 4
gpt4 key购买 nike

我希望我的程序在每个 Activity 中都具有相同的背景颜色。所以我把这行代码放在每个layout.xml文件的每个主要布局中。

android:background="@color/background"

到目前为止一切顺利,它可以正常工作并且看起来不错。但是,我最近开始注意到,当我调用一个新 Activity 时,它首先有一个白色背景,然后立即变为背景色。但是我的眼睛里总是有这种白色很短的时间,这真的很烦人。

有谁知道如何避免这个问题?我希望我的 Activity 正常使用它们的新背景颜色。

编辑:好吧,我使用的每项 Activity 都有相同的背景。这就是我开始新 Activity 的方式:

startActivity( new Intent( getActivity(), ActivityAlbumContent.class ) );

到目前为止,我只有这个和 MainActivity,但也是在应用程序启动时,MainActivity 首先具有白色背景。我现在只能假设我稍后创建的 Activity 也会有同样的问题。

这是在我的 styles.xml 中。

<style name="CustomTheme" parent="android:Theme">
<item name="android:windowBackground">@color/background</item>
</style>

windowBackground 属性不知何故不存在。我在 list 文件中将此主题设置为我的应用程序,但随后它崩溃了。

06-30 20:43:49.048: E/AndroidRuntime(15411): FATAL EXCEPTION: main
06-30 20:43:49.048: E/AndroidRuntime(15411): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.davlog.mplayer/com.davlog.mplayer.MainActivity}: java.lang.NullPointerException
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2249)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread.access$700(ActivityThread.java:154)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.os.Handler.dispatchMessage(Handler.java:99)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.os.Looper.loop(Looper.java:137)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread.main(ActivityThread.java:5306)
06-30 20:43:49.048: E/AndroidRuntime(15411): at java.lang.reflect.Method.invokeNative(Native Method)
06-30 20:43:49.048: E/AndroidRuntime(15411): at java.lang.reflect.Method.invoke(Method.java:511)
06-30 20:43:49.048: E/AndroidRuntime(15411): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
06-30 20:43:49.048: E/AndroidRuntime(15411): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
06-30 20:43:49.048: E/AndroidRuntime(15411): at dalvik.system.NativeStart.main(Native Method)
06-30 20:43:49.048: E/AndroidRuntime(15411): Caused by: java.lang.NullPointerException
06-30 20:43:49.048: E/AndroidRuntime(15411): at com.davlog.mplayer.MainActivity.onCreate(MainActivity.java:29)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.Activity.performCreate(Activity.java:5255)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
06-30 20:43:49.048: E/AndroidRuntime(15411): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2213)
06-30 20:43:49.048: E/AndroidRuntime(15411): ... 11 more

最佳答案

您可以使用 android:windowBackground自定义主题中的属性以设置 Activity 的背景颜色,包括加载 Activity 时。

例如定义这样的样式:

<style name="Theme.MyApp" parent="android:Theme">
<item name="android:windowBackground">@color/my_app_color</item>
</style>

然后在您的 list 中选择主题,如下所示:

<application
android:theme="@style/Theme.MyApp">

<!- ... ->

</application>

这消除了为每个布局设置 android:background 的需要,并且会在 Activity 加载时显示适当的颜色。

请注意,如果您支持 API 14 以上的任何设备,您可能希望拥有此主题的 values-14/styles.xml 副本,该副本继承自 Holo 主题。如果您只支持 14 岁以上的设备,那么您只需要一个继承自 Holo 主题的主题。

关于android改变背景颜色太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24496513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com