1,在layout下定義login.xml自訂登入視圖,代碼如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:baselineAligned="false" ><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="60dp" android:textSize="15sp" android:layout_height="wrap_content" android:text="@string/username" /> <EditText android:id="@+id/username" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hintname" /></LinearLayout><LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1" > <TextView android:layout_width="60dp" android:textSize="15sp" android:layout_height="wrap_content" android:text="@string/password" /> <EditText android:id="@+id/password" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/hintpassword" /></LinearLayout> </LinearLayout>
2,編寫java代碼,這裡是通過一個按鈕調用的自訂對話方塊,按鈕id為dialog5
case R.id.dialog5:LayoutInflater inflater = LayoutInflater.from(DialogDemoActivity.this);View view = inflater.inflate(R.layout.login, null);//注意,這裡從擴充的視圖中取得username和password視圖控制項username = (EditText) view.findViewById(R.id.username);password = (EditText) view.findViewById(R.id.password);new AlertDialog.Builder(DialogDemoActivity.this).setTitle("自訂對話方塊").setView(view)//自訂視圖.setPositiveButton("確定", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {String userName = username.getText().toString();String passWord = password.getText().toString();Toast.makeText(DialogDemoActivity.this, userName+","+passWord, 1).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}}).setCancelable(false).show();break;
3,自訂對話方塊效果
4,點擊確定按鈕,將會顯示輸入的使用者名稱和密碼