在很多时候,我们需要给一个Layout设置一个背景。例如,我们下下面的layout中使用了这样一个背景: 6]dK,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/antelope_canyon">
<TextView android:text="@+id/TextView01"
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TextView>
</LinearLayout>
其中的LinearLayout使用了 背景图片antelope_canyon。整个程序的运行效果如下图: 7E$ e1=
.~0A*a
vcsi @!
仔细观察程序的运行过过程,我们首先看到了黑色的activity背景,然后才看到背景图被加载,那是因为在activity start以后,我们才能调用setContentView设置我们的layout,然后才绘制我们在layout中放置的背景图。而在此之前,程序中绘制的是android中默认黑色背景。 UNcS\t2N
这样会给用户感觉我们的activity启动较慢。 Int 6xoz
x68$?CD
然而,如果将背景图定义在一个主题中,如下: d-g&TSGd
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Droidus" parent="android:Theme">
<item name="android:windowBackground">@drawable/antelope_canyon</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
然后在activity中使用这个主题 qG=9zp4y?Y
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.droidus"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".SpeedUpStartupActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Droidus"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
运行程序,可以看到背景图马上显示了,没有再看到黑色的背景图。 g4<w6eB
[G^ir
为什么会有这样的现象呢?那是因为 程序的主题是在程序启动的时候加载的,而不是在activity启动之后加载! yw`xK2(C$
而如果在layout使用背景,背景图是在activity启动之后才加载,故而会让用户看到一个黑色背景闪动的过程。 >h/J{T(P>h
转自:http://www.bangchui.org/read.php?tid=16
转自:http://www.bangchui.org/read.php?tid=16
分享到:
相关推荐
Android UI优化之merge标签的使用,主要介绍merge方法使用的注意事项及方法实现。
Pre-load data before Activity opens, and display data on UI after UI initialization. Speedup Activity launch You can start a PreLoader everywhere and start to listen data which loaded by the PreLoader...
Android UI 优化.ppt
android_UI进阶之style和theme的总结,供学习交流,谢谢~
Android UI优化之merge标签的使用,主要介绍ViewStub方法使用的注意事项及方法实现。
Android UI 界面设计 移动APP
Android UI控件组件库集合【源码】 热门标签,流式布局,刮刮乐控件,侧滑控件,循环幻灯片控件,自动换行控件,下拉列表,圆角进度控件等常用UI控件组件合集
Android 性能优化之UI优化源码 配合博客参照 https://www.cnblogs.com/Oztaking/p/9350295.html
《Android UI设计》面向创建移动应用的产品经理、设计师和开发者,系统讲解了从事Android UI设计必须要掌握的Android平台的主要技术和特性,全面总结了Android UI的设计原理、设计理念和设计模式,并通过一个综合的...
本书不仅会告诉读者创建灵活布局的最佳方法,还会帮助开发者优化已有的UI界面,从而使他们的应用运行更加流畅,拥有最佳性能。学习完本书,读者可以自己创建一个成功的Android应用的UI界面。 《AndroidUI基础教程》...
Android UI设计技巧 Android UI设计技巧Android UI设计技巧
androidUI进阶之实现listview的下拉加载.pdf
ANDROID UI设计工具,方便ANDROID UI设计
android UI界面开发图片,数量巨大,而且经典,觉得值得收藏 android UI界面开发图片,数量巨大,而且经典,觉得值得收藏
Android UI设计心得。包括线性布局(LinearLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)、框架布局(FrameLayout)、绝对布局(AbsoluteLayout)。其中AbsoluteLayout在Android SDK2.3.3之后已经...
android UI开发推荐颜色 android UI开发推荐颜色 android UI开发推荐颜色
本篇文章主要介绍了详解AngularJs路由之Ui-router-resolve(预加载),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android UI 生成器 可以生成android的UI减轻工作,比eclipse内置的好多了,直接生成布局文件拉人项目直接使用
android ui设计 android源码 android开源项目 android项目代码 androidui设计,UI小练习