Android 应用启动欢迎界面广告的实现实例

Android 应用启动欢迎界面广告

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);  }}

布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:orientation="vertical"       android:layout_width="match_parent"       android:layout_height="match_parent">  <ImageView      android:layout_width="match_parent"      android:layout_height="match_parent"      android:id="@+id/imageView"      android:layout_gravity="center_horizontal"      android:src="@mipmap/welcome"/>      <!--android src属性指定imageView里面要显示的资源文件的来源路径,也就是在欢迎界面显示的图片,在这里我已经预先上传了一张图片了--></LinearLayout>

修改清单文件AndroidManifest.xml

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

原来的xml

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="supershare.android.hupeng.me.supershare">  <application      android:allowBackup="true"      android:icon="@mipmap/ic_launcher"      android:label="@string/app_name"      android:supportsRtl="true"      android:theme="@style/AppTheme">    <activity android:name=".MainActivity">      <intent-filter>        <action android:name="android.intent.action.MAIN"/>        <category android:name="android.intent.category.LAUNCHER"/>      </intent-filter>    </activity>  </application></manifest>

修改成

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="supershare.android.hupeng.me.supershare">  <application      android:allowBackup="true"      android:icon="@mipmap/ic_launcher"      android:label="@string/app_name"      android:supportsRtl="true"      android:theme="@style/AppTheme">    <activity android:name=".WelcomeActivity">      <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>

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

在这里用到的核心函数为

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的消息的延迟发送以及处理。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

她是应该难过的往回走,还是蹲下来哭泣?

Android 应用启动欢迎界面广告的实现实例

相关文章:

你感兴趣的文章:

标签云: