[android] 手機衛士自訂對話方塊布局,android衛士
手機防盜頁面部分
點擊手機防盜,進行判斷,如果沒有設定密碼,顯示一個設定密碼的對話方塊,如果已經設定密碼了,彈出輸入密碼對話方塊
密碼儲存在SharedPreferences中,資料取出進行判斷
自訂一個布局檔案,dialog_setup_password.xml
根布局寬度不要充滿螢幕
內部控制項,寬度要小一點留出空間,置中對齊,android:gravity=”center”
兩個並排的按鈕,確定和取消,線性布局水平朝向
擷取AlertDialog.Builder對象,通過new Builder(),參數:內容物件
調用Builder對象的setView(view)方法,參數:View對象,通過布局填充器填充
調用View.inflate(context,resource,root)方法,把布局檔案轉換成View對象,上下文,資源,根
調用Builder對象的show()方法
HomeActivity.java
/** * 開啟手機防盜的對話方塊 */ protected void startMobileSec() { String password=sp.getString("password", ""); //設定密碼 if(TextUtils.isEmpty(password)){ AlertDialog.Builder builder=new Builder(this); View view=View.inflate(this, R.layout.dialog_setup_password, null); builder.setView(view); builder.show(); }else{ //輸入密碼 } }
dialog_setup_password.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="300dp" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="vertical" > <TextView android:background="#669933" android:textColor="#fff" android:layout_width="match_parent" android:layout_height="40dp" android:gravity="center" android:text="設定密碼" /> <EditText android:layout_width="290dp" android:layout_height="wrap_content" android:hint="請輸入密碼"/> <EditText android:layout_width="290dp" android:layout_height="wrap_content" android:hint="請確認密碼"/> <RelativeLayout android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:gravity="center_horizontal" android:layout_width="200dp" android:layout_height="wrap_content"> <Button android:layout_alignParentLeft="true" android:background="#2aabd2" android:textColor="#fff" android:layout_width="wrap_content" android:layout_height="40dp" android:text="確認"/> <Button android:layout_alignParentRight="true" android:background="#eb9316" android:textColor="#fff" android:layout_width="wrap_content" android:layout_height="40dp" android:text="取消"/> </RelativeLayout></LinearLayout>