使用style替换背景,防止Activity黑色背景闪过
1.原来的布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/img_bg"
android:orientation="horizontal">
<Button
android:layout_weight="1"
android:layout_width="0"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"/>
<Button
android:layout_weight="1"
android:layout_width="0"
android:layout_height="wrap_content"
android:text="New Button1"
android:id="@+id/button3"/>
</LinearLayout>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
这里我们用了
android:background="@drawable/img_bg"
来设置了背景图片,但是当我们启动activity是有时候会出现一个黑色的背景,然后才出现我们设置的背景,给用户感觉我们的程序运行的很慢
2.解决办法
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:background">@drawable/img_bg</item>
</style>
</resources>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
我们可以给主题设置一个背景,这样就不会给用户感觉我们的应用卡住了
3.知其然知其所以然
1.因为程序的主题是在程序启动的时候加载
2.Layout中设置的背景实在Activity启动之后才加载
所以会让用户看到一个黑色背景闪过的过程。
时间: 2024-10-20 18:11:45