本次主要做手機防盜界面的設置向導功能界面的設計。
### 需求:
當用戶進入手機防盜界面時,判斷用戶是否已經進行過設置向導:
- 如果用戶已經設置過手機防盜,則不再提示用戶進入手機向導
- 若還沒有設置,則提示用戶進入設置向導界面。
### 具體實現:
- 1.當用戶輸入“手機防盜”密碼正確時,進行判斷用戶是否進行過設置向導
~~~
/**
* 判斷用戶是否進行過設置向導
* @return
*/
private boolean isSetup(){
return sp.getBoolean("isAlreadySetup", false);
}
~~~
- 2.創建“設置向導”的Activity,并添加到AndroidManifest.xml清單文件中
SetupWizard1Activity.java
~~~
public class SetupWizard1Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.setup_wizard1);
}
}
~~~
- 3.添加xml布局文件/mobilesafe/res/layout/setup_wizard1.xml
- 3.1.由于每個向導界面的標題文字樣式都是統一的,因此可以將標題文字樣式抽取出來:
- /mobilesafe/res/values/style.xml
~~~
<style name="text_title_style">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">28sp</item>
<item name="android:textColor">#ff00ff66</item>
</style>
~~~
- 3.2.標題下面的分割線 因為后面要經常使用,此處也是將分割線抽象出來。
~~~
<style name="devide_line_style">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">8dip</item>
<item name="android:layout_marginBottom">8dip</item>
<item name="android:background">@drawable/devide_line</item>
</style>
~~~
- 3.3.正文內容樣式
~~~
<style name="text_content_style">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">20sp</item>
<item name="android:textColor">#ff00ff66</item>
</style>
~~~
- 3.4.文字前的小星星
~~~
<style name="image_star_style">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:src">@android:drawable/btn_star_big_on</item>
<item name="android:layout_marginLeft">8dip</item>
</style>
~~~
此處的圖片資源使用了android自帶的資源,使用@android下的圖片資源的好處: 1. 減少程序的體積 2. 提高程序獲取圖片的速度
- 3.5.進度顯示圖標
~~~
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<ImageView style="@style/image_status_on_style" />
<ImageView style="@style/image_status_off_style" />
<ImageView style="@style/image_status_off_style" />
<ImageView style="@style/image_status_off_style" />
</LinearLayout>
~~~
- 3.5.圖標以及“下一步”
~~~
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
| center_horizontal" |
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/setup1" />
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/next"
android:text="下一步" />
</RelativeLayout>
~~~
- 4./mobilesafe/res/layout/setup_wizard1.xml
~~~
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
android:orientation="vertical" >
<TextView
style="@style/text_title_style"
android:text="1. 歡迎使用手機防盜" />
<ImageView style="@style/devide_line_style" />
<TextView
style="@style/text_content_style"
android:text="您的手機防盜衛士可以:" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="horizontal" >
<ImageView style="@style/image_star_style" />
<TextView
style="@style/text_content_style"
android:paddingTop="5dip"
android:text="sim卡變更報警" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="horizontal" >
<ImageView style="@style/image_star_style" />
<TextView
style="@style/text_content_style"
android:paddingTop="5dip"
android:text="GPS追蹤" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="horizontal" >
<ImageView style="@style/image_star_style" />
<TextView
style="@style/text_content_style"
android:paddingTop="5dip"
android:text="遠程銷毀數據" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:orientation="horizontal" >
<ImageView style="@style/image_star_style" />
<TextView
style="@style/text_content_style"
android:paddingTop="5dip"
android:text="遠程鎖屏" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<ImageView style="@style/image_status_on_style" />
<ImageView style="@style/image_status_off_style" />
<ImageView style="@style/image_status_off_style" />
<ImageView style="@style/image_status_off_style" />
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:gravity="center_vertical|center_horizontal"
android:orientation="vertical" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/setup1" />
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/next"
android:text="下一步" />
</RelativeLayout>
</LinearLayout>
~~~
- 5.界面跳轉
~~~
if(isSetup()){
Log.i(TAG, "加載手機防盜主界面");
}else{
Log.i(TAG, "激活設置向導界面");
finish();
Intent intent = new Intent(getApplicationContext(), SetupWizard1Activity.class);
startActivity(intent);
}
~~~
- 6.顯示效果

- 前言
- Appcompat_V7問題
- This Android SDK requires Android Developer Toolkit version 23.0.0 or above
- 創建Android項目不自動生成Activity,layout目錄為空
- 新建android項目gen目錄下未生成R文件
- 手機安全衛士02:splash界面ui
- 知識點:Android控件系列之Toast
- 手機安全衛士03:獲取更新的服務器配置,顯示更新對話框
- 異常處理:android.os.NetworkOnMainThreadException--多線程問題
- 知識點:Android控件系列之對話框AlertDialog.Builder
- 手機安全衛士04_01:界面(Activity)之間的切換,Activity和任務棧
- 知識點:Android控件系列之ProgressDialog與ProgressBar
- 手機安全衛士04_02:從服務器下載并安裝新版本安裝包
- 知識點:Intent
- 知識點:Adapter適配器
- 手機安全衛士05_1:程序主界面
- 手機安全衛士05_2:程序主界面,為每個條目添加事件
- 知識點:動態設置布局LayoutInflater
- 知識點:SharedPreferences
- 手機安全衛士06-手機防盜之自定義對話框
- 手機安全衛士07-手機防盜之進入限制
- 手機安全衛士08-一些布局和顯示的細節:State List
- 手機安全衛士09-手機防盜界面設置向導1
- 手機安全衛士10-設置向導之綁定SIM卡