溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 應用啟動歡迎界面廣告的實現實例

發布時間:2020-10-19 21:08:00 來源:腳本之家 閱讀:338 作者:huplion 欄目:移動開發

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的消息的延遲發送以及處理。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女