Android开发学习笔记(十)实现一个简易的开场界面
16lz
2021-01-25
很多应用都有按下图标之后首先显示一个欢迎界面,再跳转到主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>
更多相关文章
- Android基础入门教程——4.2.1 Service初涉
- android ICS 系统启动之Logo相关学习总结
- android 调用系统相机拍照 获取原图
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下) 。
- android 2.3 以上的StrictMode 使用方法
- 隆重推出:Android(安卓)KTX 预览版让 Kotlin 代码更精简
- 【Android(安卓)对话框(Dialog)大全 建立你自己的对话框】
- 图解Android(安卓)View的scrollTo(),scrollBy(),getScrollX(), g
- android studio生成签名导打包的方法