来源:蜘蛛抓取(WebSpider)
时间:2016-06-13 09:04
标签:
gta5launcher.exe下载
Android 启动APP时黑屏白屏的三个解决方案
你会很奇怪,为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如QQ手机端,的确这里要做处理一下。这里先了解一下为什么会出现这样的现象,其实很简单,简历一个简单的例子就可以理解了。
其实,黑屏或者白屏这里并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景。代码如下,可以自己写个小demo就理解了。
protected void onCreate(Bundle savedInstanceState) {
& & super.onCreate(savedInstanceState);
& & // 注意:添加3秒睡眠,以确保黑屏一会儿的效果明显,在项目应用要去掉这3秒睡眠
& & & & Thread.sleep(3000);
& & } catch (InterruptedException e) {
& & & & e.printStackTrace();
& & // 在这里之前,黑屏或者白屏都是window的背景颜色,是窗口背景,还没到界面的布局呢,要执行setContentView后才显示布局
& & setContentView(R.layout.activity_launcher);
那window窗口背景在那里提供呢?在提供theme里面,如下提供的是白色背景,那就是启动时白屏一会儿的颜色设置。
&!-- Application theme. --&
&style name=&AppTheme& parent=&AppBaseTheme&&
& & &item name=&android:windowNoTitle&&true&/item&
& & &item name=&android:windowBackground&&@color/white&/item&
& & &!-- All customizations that are NOT specific to a particular API-level can go here. --&
所以,在theme设置windowBackground就可以解决启动时白屏黑屏一会儿了,下面提供三种解决方案:
一、提供.png背景图
提供背景图是解决的一个方法,但是要适配各种屏幕,提供很多张图片。除非图片非常复杂只能用背景图了就用这种方法吧,否则个人不建议。
二、提供.9.png(NinePatch)背景图片
如果图片不是很复杂,可以做成NinePatch图片,那就直接制作NinePatch图片,提供一张就可以适配任何手机,何乐而不为呢。
三、使用Layout-list制作背景图片
如果可以使用这种方式,推荐使用这种Layout-list制作背景图片。前2种都是使用图片占用内存啊,使用Layout-list比较省内存,做出app也不会说因为图片多体积变大吧。
&下面给出代码。
LaunchActivity为启动界面停留3秒后跳转到主页面MainActivity,为了达到显示黑屏白屏的效果更明显,在setContentView之前线程睡眠3秒。
public class LauncherActivity extends Activity {
& & public final int MSG_FINISH_LAUNCHERACTIVITY = 500;
& & public Handler mHandler = new Handler(){
& & & & public void handleMessage(Message msg) {
& & & & & & switch (msg.what) {
& & & & & & case MSG_FINISH_LAUNCHERACTIVITY:
& & & & & & & & //跳转到MainActivity,并结束当前的LauncherActivity
& & & & & & & & Intent intent = new Intent(LauncherActivity.this, MainActivity.class);
& & & & & & & & startActivity(intent);
& & & & & & & & finish();
& & & & & & & &
& & & & & & default:
& & & & & & & &
& & & & & & }
& & & & };
& & @Override
& & protected void onCreate(Bundle savedInstanceState) {
& & & & super.onCreate(savedInstanceState);
& & & & // 不显示系统的标题栏,保证windowBackground和界面activity_main的大小一样,显示在屏幕不会有错位(去掉这一行试试就知道效果了)
& & & & getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
& & & & // 注意:添加3秒睡眠,以确保黑屏一会儿的效果明显,在项目应用要去掉这3秒睡眠
& & & & try {
& & & & & & Thread.sleep(3000);
& & & & } catch (InterruptedException e) {
& & & & & & e.printStackTrace();
& & & & setContentView(R.layout.activity_launcher);
& & & & // 停留3秒后发送消息,跳转到MainActivity
& & & & mHandler.sendEmptyMessageDelayed(MSG_FINISH_LAUNCHERACTIVITY, 3000);
activity_launcher.xml布局文件,很简单,要记住这里的LinearLayout使用的背景是layout_list_start_pic,跟主题theme使用一样的背景,这样就消除了背景不一样的效果。这里要自己试试才知道这样做的好处和效果。
&LinearLayout xmlns:android=&/apk/res/android&
& & xmlns:tools=&/tools&
& & android:layout_width=&fill_parent&
& & android:layout_height=&fill_parent&
& & android:background=&@drawable/layout_list_start_pic& &
& & &TextView
& & & & android:layout_width=&wrap_content&
& & & & android:layout_height=&wrap_content&
& & & & android:textColor=&#ffffff&
& & & & android:text=&@string/hello_world& /&
&/LinearLayout&
Manifest.xml,这里注意application使用的theme是AppTheme,而LauncherActivity使用的主题是StartAppTheme。这样做的效果是只要LauncherActivity使用StartAppTheme主题,其他Activity都是用AppTheme主题哦。
&?xml version=&1.0& encoding=&utf-8&?&
&manifest xmlns:android=&/apk/res/android&
& & package=&com.example.launcheractivity&
& & android:versionCode=&1&
& & android:versionName=&1.0& &
& & &uses-sdk
& & & & android:minSdkVersion=&8&
& & & & android:targetSdkVersion=&18& /&
& & &application
& & & & android:allowBackup=&true&
& & & & android:icon=&@drawable/ic_launcher&
& & & & android:label=&@string/app_name&
& & & & android:theme=&@style/AppTheme& &
& & & & &activity
& & & & & & android:name=&.LauncherActivity&
& & & & & & android:label=&@string/app_name&
& & & & & & android:theme=&@style/StartAppTheme& &
& & & & & & &intent-filter&
& & & & & & & & &action android:name=&android.intent.action.MAIN& /&
& & & & & & & & &category android:name=&android.intent.category.LAUNCHER& /&
& & & & & & &/intent-filter&
& & & & &/activity&
& & & & &activity android:name=&.MainActivity&&&/activity&
& & &/application&
&/manifest&
styles.xml,2个主题设置
&resources xmlns:android=&/apk/res/android&&
& & & & Base application theme, dependent on API level. This theme is replaced
& & & & by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
& & &style name=&AppBaseTheme& parent=&android:Theme.Light.NoTitleBar&&
& & & & &!--
& & & & & & Theme customizations available in newer API levels can go in
& & & & & & res/values-vXX/styles.xml, while customizations related to
& & & & & & backward-compatibility can go here.
& & & & --&
& & &/style&
& & &!-- Application theme. --&
& & &style name=&AppTheme& parent=&AppBaseTheme&&
& & & & &item name=&android:windowNoTitle&&true&/item&
& & & & &item name=&android:windowBackground&&@color/white&/item&
& & & & &!-- All customizations that are NOT specific to a particular API-level can go here. --&
& & &/style&
& & &style name=&StartAppTheme& parent=&AppBaseTheme&&
& & & & &item name=&android:windowNoTitle&&true&/item&
& & & & &item name=&android:windowBackground&&@drawable/layout_list_start_pic&/item&
& & & & &!-- All customizations that are NOT specific to a particular API-level can go here. --&
& & &/style&
&/resources&
layout_list_start_pic.xml 启动页面使用这个作为背景图片
&?xml version=&1.0& encoding=&utf-8&?&
&layer-list xmlns:android=&/apk/res/android& &
& & &!-- 设置整个屏幕背景为白色 --&
& & &item &
& & & & &color android:color=&@color/white&/&
& & &/item&
& & &!-- 中间logo --&
& & &item &
& & & & &bitmap
& & & & & & android:gravity=¢er&
& & & & & & android:src=&@drawable/ic_launcher& /&
& & &/item&
& & &!-- 底部图表 --&
& & &item android:bottom=&10dp&&
& & & & &bitmap
& & & & & & android:gravity=&bottom|center_horizontal&
& & & & & & android:src=&@drawable/copyright& /&
& & &/item&
&/layer-list&
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'Android应用程序在某些机型上启动有几率一直黑屏_百度知道
Android应用程序在某些机型上启动有几率一直黑屏
提问者采纳
那就是启动时白屏一会儿的颜色设置;/:windowNoTitle&;AppBaseTheme&white&AppTheme&style name="。 &item name=& 在这里之前;@color/!-- Application theme,黑屏或者白屏都是window的背景颜色,可以自己写个小demo就理解了;& <!-- All customizations that are NOT specific to a particular API-level can go here,还没到界面的布局呢.printStackTrace()。 @Override protected void onCreate(Bundle savedInstanceState) { super,在theme设置windowBackground就可以解决启动时白屏黑屏一会儿了;true& } /,下面提供三种解决方案;; <. --&item name=".9;&/.onCreate(savedInstanceState);& 注意,以确保黑屏一会儿的效果明显; / 代码如下: 一; parent=".png背景图 二:添加3秒睡眠,如下提供的是白色背景;item>,在项目应用要去掉这3秒睡眠 try { T } catch (InterruptedException e) { e;item>,要执行setContentView后才显示布局 setContentView(R.activity_launcher);/.sleep(3000); } 那window窗口背景在那里提供呢,是窗口背景;style>、提供、提供. &android? 在提供theme里面. --& & &/:windowBackground& 所以.png(NinePatch)背景图片 三;/
Android|HTML5|iOS培训名师面授
主营:Android培训、HTML5培训、iOS培训
其他类似问题
为您推荐:
其他1条回答
为什么有些app启动时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如,其实黑屏或者白屏这里并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,黑屏白屏就是window窗口背景。
代码如下,可以自己写个小demo就理解了。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 注意:添加3秒睡眠,以确保黑屏一会儿的效果明显,在项目应用要去掉这3秒睡眠
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
// 在这里之前,黑屏或者白屏都是window的背景颜色,是窗口背景,还没到界面的布局呢,要执行set...
android的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前位置:&&>&&>&&&>a5pc版进游戏黑屏跳出解决方法
GTA5的PC版已经被破解了,但是有玩家反映破解以后出现了进游戏黑屏跳出的问题!别着急,出现这个问题的玩家,先试试下面的这个办法,看看能不能解决吧! 1、打开设备管理器,将独显右键给禁用,注意这个页面不要关。 2、双击游戏目录中的"Launcher"的一瞬间,立即将独显给启用,动作一定要快。 3、开始游戏,畅玩GTA5。
《GTA5》实用攻略
常见问题解决方法
按键操作方法
女角色捏脸数据
抢劫4千万部署
大眼妹捏脸数据
R星官网注册教程
详细飞机驾驶教程
线上模式开局心得
脱衣舞女出场时间
最佳武器推荐
全随机任务详解
实用车推荐
迷幻仙人掌位置
全载具数据一览
偷战斗机教程
飞行学校金牌攻略
车辆卖出价格一览
杀警察升级方法
悬赏状态解除方法
破解补丁安装教程
娇俏妹捏脸数据
低端显卡优化设置
飞机按键操作方法
与解决方法,跳出,黑屏,游戏,gta5pc相关的文章
一周排行榜