android欢迎界面3秒后关闭代码,Android实现欢迎界面停留3秒效果

0.写在前面

在这篇教程中来实现一个类似于微信的的延迟3秒再进入主界面的效果。

1.项目准备

先新建一个空的android项目。里面只自带一个MainActivity,首先我们再新建一个Activity叫做WelcomeActivity继承自Activity。

Activity代码如下:

//package在此省略,根据实际自行添加

import android.app.Activity;

import android.os.Bundle;

import android.support.annotation.Nullable;

/**

* Created by HUPENG on 2016/9/21.

*/

public class WelcomeActivity extends Activity {

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_welcome);

}

}

布局文件代码如下:

android:orientation="vertical"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:id="@+id/imageView"

android:layout_gravity="center_horizontal"

android:src="@mipmap/welcome"/>

修改清单文件AndroidManifest.xml

声明WelcomeActivity以及修改Activity的启动顺序,由MainActivity改成WelcomeActivity

原来的xml

package="supershare.android.hupeng.me.supershare">

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme">

修改成

package="supershare.android.hupeng.me.supershare">

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme">

至此项目的布局已经完成了,现在来完成跳转部分源码

在这里用到的核心函数为

Handler.sendEmptyMessageDelayed

主要用来发送延迟消息

首先新建一个消息处理对象,负责发送与处理消息

private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

}

};

在handleMessage方法中处理消息,在这里接收到消息不做复杂处理以后直接执行跳转操作

贴上WelcomeActivity全部代码

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.support.annotation.Nullable;

import android.view.Window;

import android.view.WindowManager;

/**

* Created by HUPENG on 2016/9/21.

*/

public class WelcomeActivity extends Activity {

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//隐藏标题栏以及状态栏

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

/**标题是属于View的,所以窗口所有的修饰部分被隐藏后标题依然有效,需要去掉标题**/

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_welcome);

handler.sendEmptyMessageDelayed(0,3000);

}

private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

getHome();

super.handleMessage(msg);

}

};

public void getHome(){

Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);

startActivity(intent);

finish();

}

}

2.总结

在这里主要利用了android.os.Handler的消息的延迟发送以及处理。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个Android闪屏动态界面的实例演示,包括设置闪屏以及跳转到登录界面的完整代码。 1. 首先,在res目录下创建一个名为splash.xml的布局文件,用于设置闪屏动态界面的UI。代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/splash_bg"> <ImageView android:id="@+id/splash_iv_logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/logo" /> <TextView android:id="@+id/splash_tv_appname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/splash_iv_logo" android:layout_centerHorizontal="true" android:text="My App" android:textColor="#FFFFFF" android:textSize="20sp" /> </RelativeLayout> ``` 2. 在res目录下创建一个名为splash_bg.xml的drawable文件,用于设置闪屏动态界面的背景图片。代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:angle="45" android:centerColor="#00BFFF" android:endColor="#1E90FF" android:startColor="#6495ED" android:type="linear" /> </shape> ``` 3. 在AndroidManifest.xml文件中设置闪屏动态界面启动界面代码如下: ``` <activity android:name=".SplashActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ``` 4. 在res/values/styles.xml文件中定义SplashTheme主题,用于设置闪屏动态界面的样式。代码如下: ``` <style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowBackground">@drawable/splash_bg</item> </style> ``` 5. 在SplashActivity.java文件中编写代码实现闪屏动态界面的设置和跳转到登录界面代码如下: ``` public class SplashActivity extends AppCompatActivity { private static final int SPLASH_TIME_OUT = 2000; // 闪屏停留时间 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); // 设置闪屏动态界面 ImageView ivLogo = findViewById(R.id.splash_iv_logo); Animation animation = AnimationUtils.loadAnimation(this, R.anim.splash_anim); ivLogo.startAnimation(animation); // 延迟跳转到登录界面 new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this, LoginActivity.class); startActivity(intent); finish(); } }, SPLASH_TIME_OUT); } } ``` 6. 最后,在res/anim目录下创建一个名为splash_anim.xml的动画文件,用于设置闪屏动态界面中Logo的动画效果代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="2000" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:toAlpha="1.0" /> ``` 以上就是一个Android闪屏动态界面的实例演示,包括设置闪屏以及跳转到登录界面的完整代码。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值