zoukankan      html  css  js  c++  java
  • 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启动之后才加载
    所以会让用户看到一个黑色背景闪过的过程。

  • 相关阅读:
    jdk和dubbo的SPI机制
    何谓架构
    ElasticSearch的API使用
    LFU的基本原理与实现
    如何判断单向链表有环?
    mysql执行过程以及顺序
    原来 TinyPNG 可以这样玩!
    deno + mongodb 实战踩坑记
    好消息,vue3.0 进入 beta 阶段!
    听说会做这道题的人后来都进了头条?
  • 原文地址:https://www.cnblogs.com/ldq2016/p/5226593.html
Copyright © 2011-2022 走看看