Android APP都有的引導 歡迎介面 詳解

2021-07-22 05:32:44 字數 3098 閱讀 1686

2.歡迎、引導介面的思路:

一。如何知道使用者是第一次進來

一般我們在sharedpreferences中 儲存是否是第一次進入 

sharedpreferences perpreferences = getsharedpreferences(contantvalues.fristlogin, mode_private);

isfirstin = perpreferences.getboolean(contantvalues.isfrist, true);

if (!isfirstin) else

為false。一。獲取到了是第一次進來之後?接下來第一次進去,對應的用intent 轉跳到另乙個activity (引導activity)的布林值賦值為false

否則直接轉跳到主介面。

一。跳轉了介面後做什麼?

首先轉跳到主介面比較簡單,直接略過。

轉跳到引導頁需要做的事情。

1.使用者滑動引導頁面上的

2.到了最後一頁,需要給使用者提示的按鈕(比如 開始體驗)

滑動的控制項 肯定是 viewpager

如果不了解怎麼用,可以參考:

viewpager詳解

可以使用 viewpager+fragmentadapter  也可以像上面的那篇部落格裡寫的繼承baseadapter

結合使用。

接下來貼個簡單的**,如果引導頁比較少 也可以建議這樣做:

views = new arraylist();

view fviews = inflater.inflate(r.layout.guide_adapterview, null);

((textview)fviews.findviewbyid(r.id.first_login)).setvisibility(view.gone);

view sviews = inflater.inflate(r.layout.guide_adapterview, null);

((imageview) sviews.findviewbyid(r.id.guide_image)).setimageresource(r.drawa ble.splash2);

views.add(fviews);

views.add(sviews);

vpadapter = new viewpageradapter(this, views);

vp = (viewpager) findviewbyid(r.id.viewpager);

vp.setadapter(vpadapter);

//開始體驗按鈕

loginactivity = (textview) views.get(1).findviewbyid(r.id.first_login);

loginactivity.setonclicklistener(this);

//滑動監聽

vp.addonpagechangelistener(this);

vpadapter = new viewpageradapter(this, views);  切換容器裡的view

而且每個引導頁的布局都是用同樣的。

一。引導頁上的 小圓圈 索引?

這個可以自己用imageview 來實現。但是如果 有100個引導頁 要用100個imageview?

我自己寫了乙個

索引變換 的自定義view 很簡潔 也很容易拓展。

最後根據viewpage的監聽事件 來選擇繪製哪個不同的索引 小圓圈這個自定義view的源** 後面會發出來。效果圖:

源**:

demo

生理週期 (每個人都有的)

人生來就有3個生理週期,分別是體力 感情和智力週期,他們的週期長度依次為23天,28天和33天。每乙個週期中有一天為高峰期 在高峰這天,人會在相應的方面表現出色。例如,智力週期的高峰,人會思維敏捷,精力容易集中。因為3個週期的周長不同 所以通常三個週期的高峰不會落在同一天。對於每乙個人,我們想知道何...

所有的檔案都有檔案頭嗎

假如我自己定義乙個檔案格式呢,是不是也有檔案頭,假如有的話,檔案頭的格式是不是都一樣呢 只有少數檔案沒有檔案頭,如txt檔案,檔案,dos下com檔案。大部分檔案是有檔案頭的,如exe mz 和pe wma,doc,jpg,bmp 都有檔案頭。檔案頭相同不能相同,如果相同,那麼它就是同一種檔案,一般...

JS和XSLT裡都有的資料計算問題

在ie裡寫個js指令碼 alert 7.89 2.5 tofixed 2 竟然彈出19.72,而不是19.73 接著試了試 alert 7.89 2.5 彈出19.72499999998.而不是19.725 才知道原來是這樣使得四捨五入至小數點後兩位結果值成了19.72,而不是19.73.最後只好自...