• Android优化——UI优化(四) 使用stytle


    使用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>

    这里写图片描述

    这里我们用了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>

    我们可以给主题设置一个背景,这样就不会给用户感觉我们的应用卡住了

    3.知其然知其所以然

    1.因为程序的主题是在程序启动的时候加载
    2.Layout中设置的背景实在Activity启动之后才加载
    所以会让用户看到一个黑色背景闪过的过程。

  • 相关阅读:
    Mybatisplus<一> Springboot框架使用MybatisPlus代码自动生成器
    今日收获
    今日收获
    字典特征提取
    sklearn数据集的导入及划分
    文本特征提取
    MySQL基础笔记
    docker笔记
    BOM 中的location对象和history对象
    完善 原生Js 实现的简单无缝滚动轮播图
  • 原文地址:https://www.cnblogs.com/ldq2016/p/5226593.html
Copyright © 2020-2023  润新知