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.最後只好自...