Android 應(yīng)用啟動歡迎界面廣告的實現(xiàn)實例
Android 應(yīng)用啟動歡迎界面廣告
0.寫在前面
在這篇教程中來實現(xiàn)一個類似于微信的的延遲3秒再進(jìn)入主界面的效果。
1.項目準(zhǔn)備
先新建一個空的android項目。里面只自帶一個MainActivity,首先我們再新建一個Activity叫做WelcomeActivity繼承自Activity。
Activity代碼如下:
//package在此省略,根據(jù)實際自行添加 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里面要顯示的資源文件的來源路徑,也就是在歡迎界面顯示的圖片,在這里我已經(jīng)預(yù)先上傳了一張圖片了--> </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>
至此項目的布局已經(jīng)完成了,現(xiàn)在來完成跳轉(zhuǎn)部分源碼
在這里用到的核心函數(shù)為
Handler.sendEmptyMessageDelayed
主要用來發(fā)送延遲消息
首先新建一個消息處理對象,負(fù)責(zé)發(fā)送與處理消息
private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); } };
在handleMessage方法中處理消息,在這里接收到消息不做復(fù)雜處理以后直接執(zhí)行跳轉(zhuǎn)操作
貼上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); //隱藏標(biāo)題欄以及狀態(tài)欄 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); /**標(biāo)題是屬于View的,所以窗口所有的修飾部分被隱藏后標(biāo)題依然有效,需要去掉標(biāo)題**/ 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.總結(jié)
在這里主要利用了android.os.Handler的消息的延遲發(fā)送以及處理。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
下載、編譯、運行android 7.1系統(tǒng)詳解(ubuntu 16.0.4)
Android 7的系統(tǒng)版本新增的很多的新功能,本篇文章主要介紹了基于ubuntu 16.0.4環(huán)境的下載、編譯、運行android 7.1系統(tǒng),有興趣的可以了解一下。2017-01-01Android AlertDialog多種創(chuàng)建方式案例詳解
這篇文章主要介紹了Android AlertDialog多種創(chuàng)建方式案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08Android 實現(xiàn)兩個Activity跳轉(zhuǎn)實例
本文主要介紹Android 多個Activity相互之間的跳轉(zhuǎn),認(rèn)識Activity生命周期,在做Android編程的時候用處很大,希望能幫助有需要的小伙伴2016-07-07解決eclipse啟動時報錯Failed to create the Java Virtural Machine.問題的
這篇文章主要介紹了解決eclipse啟動時報Failed to create the Java Virtural Machine.問題的方法,感興趣的小伙伴們可以參考一下2016-01-01Android中通過AsyncTask類來制作炫酷進(jìn)度條的實例教程
這篇文章主要介紹了Android中通過AsyncTask來制作炫酷進(jìn)度條的實例教程,借助AsyncTask類的線程操作方法來管理異步任務(wù),需要的朋友可以參考下2016-05-05Android 觸摸事件監(jiān)聽(Activity層,ViewGroup層,View層)詳細(xì)介紹
這篇文章主要介紹了Android 觸摸事件監(jiān)聽(Activity層,ViewGroup層,View層)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12Android HttpURLConnection下載網(wǎng)絡(luò)圖片設(shè)置系統(tǒng)壁紙
這篇文章主要為大家詳細(xì)介紹了Android HttpURLConnection下載網(wǎng)絡(luò)圖片設(shè)置系統(tǒng)壁紙,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10