我的Android最佳实践之—— 解决闪空界面问题

进入应用时,由于应用的启动Activity都会有默认的theme,所以会跳一下原始界面,才启动我们定义的theme。

修改这个问题的方法,就是给应用启动的Activity设置一个空的theme。如下面的例子:

联系人启动时的Activity为PeopleActivity ,我们就在manifest文件中设置PeopleActivity 的theme为一个空的theme

<activity android:name=".activities.PeopleActivity"

android:label="@string/people"

android:theme="@style/GnEmptyTheme"

android:uiOptions="splitActionBarWhenNarrow"

android:clearTaskOnLaunch="true"

android:launchMode="singleTask"

android:windowSoftInputMode="adjustPan"

android:configChanges="orientation"

>

GnEmptyTheme 就是一个空的theme,里面什么内容页没有,在styles.xml中如下定义:

<style name="GnEmptyTheme">

</style>

要实现白色主题、黑色主题或者透明主题,就在此Activity的onCreate方法中,使用setTheme设置对应主题即可。

注意setTheme要在super.onCreate(savedInstanceState)之前;

时间: 2024-12-15 07:28:49

我的Android最佳实践之—— 解决闪空界面问题的相关文章

Android最佳实践之高效的应用导航

设计(一)- 规划Screens和他们之间的关系 原文地址:http://developer.android.com/training/design-navigation/screen-planning.html#beyond-simplistic-design 设计和开发Android应用程序的第一个步骤是确定用户能够查看和处理应用.一旦你知道用户与之交互的应用程序之间交互什么数据,下一步就是设计交互,允许用户导航到app的不同部分,进入和退出应用程序中的界面. 这篇文章开始向你展示如何规划高

Android最佳实践之性能 - 提升Layout性能

优化布局结构 参考地址:http://developer.android.com/training/improving-layouts/optimizing-layout.html 布局是Android应用程序的关键部分,直接影响到用户体验.如果实现的不好,布局会消耗大量内存,应用程序UI会变得缓慢.Android SDK包含工具来帮助你识别布局性能问题,结合最佳实践,你将能够实现流畅的滚动体验和一个最低内存的占用. 我们有一个误解,就是使用基本的布局结构,可以实现最有效率的布局.加到App中的

Android最佳实践之性能 - 电池续航时间优化

Doze和App Standby的优化(API23) 参考地址:http://developer.android.com/training/monitoring-device-state/doze-standby.html 从Android 6.0 (API level 23)开始,Android提供了两个节电功能用来增加电池的续航时间.Doze 可以在设备长时间不使用时,通过延迟后台CPU和网络的活动来减少电池的消耗:App Standby将延迟没有交互的app网络活动. Doze和App S

Android最佳实践——深入浅出WebSocket协议

首先明确一下概念,WebSocket协议是一种建立在TCP连接基础上的全双工通信的协议.概念强调了两点内容: TCP基础上 全双工通信 那么什么是全双工通信呢? 全双工就是指客户端和服务端可以同时进行双向通信,强调同时.双向通信 WebSocket可以应用于即时通信等场景,比如现在直播很火热,直播中的弹幕也可以使用WebSocket去实现. WebSocket的协议内容可以见The WebSocket Protocol,讲得最全面的官方说明.简单介绍可以见维基百科WebSocket 在Andro

Android 最佳实践

从事android开发两年有余,但是自己的代码自己却不太敢恭维.于是我不得不来改善我的Android程序,为了使它变得更加的稳固,更加的专业.本文旁征博引,多处观点都是Google之,结合自己的经验总结了Android开发中的一些最佳实践,厚积方能博发,多积累多学习才能多进步. Android Activity 的生命周期 生命周期(Lifecycle)描述的是Android一个页面从开始创建到消亡的整个过程.伴随着一系列对象的创建及消失,涵盖着整个页面所包含的业务逻辑.以及与用户之间的交互,接

Android最佳实践之UI

为多屏设计(一) - 支持多个屏幕尺寸 参考地址:http://developer.android.com/training/multiscreen/index.html Android UI设计提供了一个灵活的框架,允许应用程序为不同设备显示不同的布局,创建自定义UI部件,在App外部控制系统的Window. Android的设备尺寸参差不齐,从几寸的小手机到几十寸的TV设备,我们需要学会为这么多的设备做出适配让尽可能多的人有更好的体验.支持多个屏幕尺寸有以下几种方式: - 确保你的布局可以充

android最佳实践之设备兼容性

由于不同手机的尺寸大小,屏幕分辨率可能存在差异.在开发应用的时候,你或许遇到过这些的问题: 1, 为什么图片在另外的手机上显示的时候变小了,又或是缩小了? 2, 为什么在layout中定义好的格局在另外的手机上变形了? 3, 为什么自己自定义的控件尺寸显示不正常了? ................ 这些都是android中比较常见的设备兼容性相关的问题,其实解决这类问题也不难,只要掌握了一些基本概念和android内部处理兼容性问的机制,这些问题都可以迎刃而解. 下边收集了一些关于尺寸兼容性问

Android最佳实践之Notification、下拉刷新、内存及性能建议等

Notification通知 参考地址:http://developer.android.com/training/notify-user/index.html 通知(Notification)是Android中使用的非常多的一个事件提示机制. 创建一个Notification 例子中的Notification是基于Support Library中的NotificationCompat.Builder类.我们使用时要继承这个类,它提供了各个平台最好的Notification支持. 创建一个Not

我的Android最佳实践之—— Android启动画面的实现方法

本文实例讲述了Android启动画面的实现方法.分享给大家供大家参考.具体分析如下: 在应用程序中经常用到启动画面,会启动一个后台线程为主程序的运行准备资源.Android要实现启动画面可以这样做: 这是splash.xml布局文件的代码: <LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_height="fill_parent"