這次的案子是要把原有的app增加一個新手導覽教學的功能 但是不是整頁換頁的方式(像是用setContent把整頁內容改變),而是以原本存在的頁面上面蓋上一層透明的頁面,然後導覽使用者點下按鈕之後才會繼續下一步。 全部的導覽結束之後,這個透明的頁面會消失,然後恢復原本的使用介面。 大概長得像是這樣: 需要用到的主要概念有三個: 1. 使用不揮發變數(SharedPreference)來設立一個初始值為false的flag,讓教學導覽結束之後把flag調回true,以免使用者下次打開之後又開始教學導覽 2. 調整style.xml檔案,用AndroidManifest.xml指定activity後用setContent鋪上透明主題頁面 3. fragment的增加,覆蓋,以及在最後結束時關閉透明頁面 (如果你是想要跟上圖一樣只有這樣一個介面,按下螢幕之後就結束的話,可能不需要fragment) --- 1. 不揮發變數 --- 放一個flag的變數進去SharedPreference SharedPreferences sharedPreferences = getSharedPreferences("flag" , MODE_PRIVATE); //取得SharedPreferences , 丟入的參數為("名稱" , 存取權限) 關於存取權限: MODE_PRIVATE 只允許本應用程式內存取。 MODE_MULTI_PROCESS 允許多個行程同時存取,在Android 2.3(含)以前的版本都是預設開啟,但2.3之後要指定這個參數才允許多行程同時存取。 MODE_WORLD_READABLE 讓手機中的所有app都能讀取,因為風險性太高,從API 17版開始就不建議使用了。 如何改變該值: sharedPreferences.edit().putboolean("flag" , false).apply(); //存入資料,丟入的參數為(key , value) 如何取出該值: sharedPreferences.getboolean("flag" , false); //