很多应用都有按下图标之后首先显示一个欢迎界面,再跳转到主activity的功能,现在来实现以下。我主要参考了CSDN上的一个仿weichat开场界面的博客,相当于一个简易版本吧。


方法一,利用系统提供的函数。

首先要新创建一个class,名为Welcome.java,主activity为MainActivity.java。

这里利用了两个函数用来把R.layout.start的内容全屏显示。

1)getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); //消除状态栏

注意:

public void addFlags(int flags) {          setFlags(flags, flags);  }  

所以这个函数也可以写成:getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);


2)requestWindowFeature(Window.FEATURE_NO_TITLE);//消除标题栏

这个函数要写在setContentView之前,否则无效。

开场画面活动,Welcome.java

package com.xujin.smarttaskman;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Handler;import android.view.Window;import android.view.WindowManager;/** 开场欢迎动画 */public class Welcome extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//全屏显示welcome画面requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.start);//延迟0.7秒后执行run方法中的页面跳转new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent intent = new Intent(Welcome.this, MainActivity.class);startActivity(intent);Welcome.this.finish();}}, 700);}}


然后是最基本的xml文件

start.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <ImageView     android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:src="@drawable/welcome"    android:background="#ffffff"    android:scaleType="centerCrop"/></LinearLayout>

注意,这里的scaleType一定要centerCrop(使图片覆盖整个ImageView),否则显示效果很糟糕。

以上这种方法可能出现瞬间出现非全屏模式的错误。


方法二,更改AndroidMainfest.xml的内容。

设置Welcome为点开按钮后首先显示的活动,them要设置成无标题栏全屏。

<activity            android:name="com.xujin.smarttaskman.Welcome"            android:label="@string/app_name"             android:theme="@android:style/Theme.NoTitleBar.Fullscreen">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>


这种方法没有显式使用函数,简单易懂,且不出现第一种方法瞬间出现非全屏模式的错误。


更多相关文章

  1. Android基础入门教程——4.2.1 Service初涉
  2. android ICS 系统启动之Logo相关学习总结
  3. android 调用系统相机拍照 获取原图
  4. Android事件分发机制完全解析,带你从源码的角度彻底理解(下) 。
  5. android 2.3 以上的StrictMode 使用方法
  6. 隆重推出:Android(安卓)KTX 预览版让 Kotlin 代码更精简
  7. 【Android(安卓)对话框(Dialog)大全 建立你自己的对话框】
  8. 图解Android(安卓)View的scrollTo(),scrollBy(),getScrollX(), g
  9. android studio生成签名导打包的方法

随机推荐

  1. Android Developers:在SQL数据库中保存数
  2. Android创建并更新通知栏通知
  3. 2019 年 Android 面试题汇总
  4. 初学Android,使用菜单资源(十九) .
  5. android usb通信开发
  6. 侧滑栏DrawerLayout的简单使用
  7. android沉浸式+虚拟按键+Fragment+Coordi
  8. android Launcher基础知识
  9. android GPS数据读取
  10. Android USBCamera,UVCCamera开发通用库,我