




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【移動應用開發技術】AndroidAPP引導頁實現-第一次應用進入時加載
APP引導頁是每個優質APP必備的元素,下面我們研究一下如何只在第一次進入應用時進行加載引導頁的方法。1.判斷是否第一次進入應用的方法:package
com.yayun.guide;
import
android.app.Activity;
import
android.content.Context;
import
android.content.Intent;
import
android.content.SharedPreferences;
import
android.os.Bundle;
import
android.os.Handler;
import
android.os.Message;
import
android.widget.Toast;
/**
*
功能:使用ViewPager實現初次進入應用時的引導頁
*
*
(1)判斷是否是首次加載應用--采取讀取SharedPreferences的方法
*
(2)是,則進入引導activity;否,則進入MainActivity
*
(3)5s后執行(2)操作
*
*
@author
yayun
*
*/
public
class
SplashActivity
extends
Activity
{
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_splash);
boolean
mFirst
=
isFirstEnter(SplashActivity.this,SplashActivity.this.getClass().getName());
Toast.makeText(this,
mFirst+,
Toast.LENGTH_SHORT).show();
if(mFirst)
mHandler.sendEmptyMessageDelayed(SWITCH_GUIDACTIVITY,100);
else
mHandler.sendEmptyMessageDelayed(SWITCH_MAINACTIVITY,100);
SharedPreferences
sharedPreferences=
this.getSharedPreferences(my_pref,
MODE_PRIVATE);
sharedPreferences.edit().putString(guide_activity,
false).commit();
}
//****************************************************************
//
判斷應用是否初次加載,讀取SharedPreferences中的guide_activity字段
//****************************************************************
private
static
final
String
SHAREDPREFERENCES_NAME
=
my_pref;
private
static
final
String
KEY_GUIDE_ACTIVITY
=
guide_activity;
private
boolean
isFirstEnter(Context
context,String
className){
if(context==null
||
className==null||.equalsIgnoreCase(className))return
false;
String
mResultStr
=
context.getSharedPreferences(SHAREDPREFERENCES_NAME,
Context.MODE_WORLD_READABLE)
.getString(KEY_GUIDE_ACTIVITY,
);//取得所有類名
如
com.my.MainActivity
if(mResultStr.equalsIgnoreCase(false))
return
false;
else
return
true;
}
//*************************************************
//
Handler:跳轉至不同頁面
//*************************************************
private
final
static
int
SWITCH_MAINACTIVITY
=
1000;
private
final
static
int
SWITCH_GUIDACTIVITY
=
1001;
public
Handler
mHandler
=
new
Handler(){
public
void
handleMessage(Message
msg)
{
switch(msg.what){
case
SWITCH_MAINACTIVITY:
Intent
mIntent
=
new
Intent();
mIntent.setClass(SplashActivity.this,
Welcome.class);
SplashActivity.this.startActivity(mIntent);
SplashActivity.this.finish();
break;
case
SWITCH_GUIDACTIVITY:
mIntent
=
new
Intent();
mIntent.setClass(SplashActivity.this,
GuideActivity.class);
SplashActivity.this.startActivity(mIntent);
SplashActivity.this.finish();
break;
}
super.handleMessage(msg);
}
};
}原理很簡單,進入的時候進行判斷有無存值,若無存值則表示第一次進入,這時跳入應用引導頁,否則,跳入主頁面。
2.ViewPager實現翻頁效果:package
com.yayun.guide;
import
java.util.ArrayList;
import
java.util.List;
import
android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.support.v4.view.PagerAdapter;
import
android.support.v4.view.ViewPager;
import
android.support.v4.view.ViewPager.OnPageChangeListener;
import
android.view.LayoutInflater;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.view.ViewGroup;
import
android.view.Window;
import
android.widget.Button;
import
android.widget.LinearLayout;
public
class
GuideActivity
extends
Activity
implements
OnClickListener
{
private
ViewPager
mViewPager;
private
PagerAdapter
mAdapter;
private
List<view>
mViews
=
new
ArrayList<view>();
//
TAB
private
LinearLayout
mTabWeixin;
private
LinearLayout
mTabFrd;
private
LinearLayout
mTabAddress;
private
LinearLayout
mTabSetting;
private
Button
mEnterButton;
@Override
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
initEvents();
}
private
void
initEvents()
{
mViewPager.setOnPageChangeListener(new
OnPageChangeListener()
{
@Override
public
void
onPageSelected(int
arg0)
{
}
@Override
public
void
onPageScrolled(int
arg0,
float
arg1,
int
arg2)
{
}
@Override
public
void
onPageScrollStateChanged(int
arg0)
{
}
});
}
private
void
initView()
{
mViewPager
=
(ViewPager)
findViewById(R.id.id_viewpager);
LayoutInflater
mInflater
=
LayoutInflater.from(this);
View
tab01
=
mInflater.inflate(R.layout.tab01,
null);
View
tab02
=
mInflater.inflate(R.layout.tab02,
null);
View
tab03
=
mInflater.inflate(R.layout.tab03,
null);
View
tab04
=
mInflater.inflate(R.layout.tab04,
null);
mViews.add(tab01);
mViews.add(tab02);
mViews.add(tab03);
mViews.add(tab04);
mEnterButton=(Button)tab04.findViewById(R.id.imgbtn_enter);
mEnterButton.setOnClickListener(new
OnClickListener()
{
@Override
public
void
onClick(View
v)
{
Intent
intent=new
Intent(GuideActivity.this,Welcome.class);
startActivity(intent);
}
});
mAdapter
=
new
PagerAdapter()
{
@Override
public
void
destroyItem(ViewGroup
container,
int
position,
Object
object)
{
container.removeView(mViews.get(position));
}
@Override
public
Object
instantiateItem(ViewGroup
container,
int
position)
{
View
view
=
mViews.get(position);
container.addView(view);
return
view;
}
@Override
public
boolean
isViewFromObject(View
arg0,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業用房屋建筑工程設計行業直播電商戰略研究報告
- 2025-2030中國安全出口燈行業市場現狀分析及競爭格局與投資發展研究報告
- 綜合類雜志出版服務行業跨境出海戰略研究報告
- 2025-2030中國嬰兒家具套行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國姜黃油油脂市場產銷預測及未來銷售格局分析研究報告
- 2025-2030中國女牛仔褲行業發展趨勢及投資戰略研究報告
- 2025-2030中國太空艙酒店行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國增強熱塑性管材(RTP)行業市場發展趨勢與前景展望戰略研究報告
- 2025-2030中國堅果行業發展分析及投資前景與戰略規劃研究報告
- 2025-2030中國土地開發行業市場發展現狀及發展趨勢與投資戰略研究報告
- 華為MA5800配置及調試手冊
- 巴金名著導讀《寒夜》
- 2024年建筑業10項新技術
- 《環境建設工程概算、預算編制辦法》
- 提升服務行業人員的職業道德和職業素養
- 按摩椅行業分析及市場前景展望報告
- 2024年上海外服招聘筆試參考題庫附帶答案詳解
- 改善患者就醫體驗培訓課件
- 養殖烏龜入門知識培訓課件
- 關于設備性能評估報告
- 【二維動畫短片發展現狀、創作過程及發展前景14000字(論文)】
評論
0/150
提交評論