Android 中 AlertDialog 的多種創建方式(一)

       在我們想要創建AlertDialog時,我們知道由於AlertDialog 類的構造方法是protected 方法,所以要創建一個AlertDialog對象,就要用到它的內嵌類AlertDialog.Builder,最後還要用show()方法來顯示這個對話框。


創建自定義登錄對話框的

運行效果圖如下



創建AlertDialog的佈局文件alertdialog.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" >

    <EditText
        android:id="@+id/username"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入用戶名" >
    </EditText>

    <EditText
        android:id="@+id/password"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入用密碼"
        android:password="true" >
    </EditText>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btn_Ok"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="OK"
            android:layout_weight="1">
        </Button>

        <Button
            android:id="@+id/btn_cancle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancle"
            android:layout_weight="1" >
        </Button>
    </LinearLayout>

</LinearLayout>

Java 代碼

public class AlertDialogActivity extends Activity {
	private Button buton;
	AlertDialog alertdialog;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Button button = (Button) findViewById(R.id.btn);

		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {

				AlertDialog.Builder builder = new AlertDialog.Builder(
						AlertDialogActivity.this);
				LayoutInflater inflater = LayoutInflater
						.from(AlertDialogActivity.this);

				View view = inflater.inflate(R.layout.alertdialog, null);
				builder.setTitle("登錄對話框");
				
				builder.setView(view);
				alertdialog = builder.create();
				alertdialog.show();

				// 通過如下方法可獲得對話框中的控件
				final EditText et_uesrname = (EditText) view
						.findViewById(R.id.username);
				final EditText et_password = (EditText) view
						.findViewById(R.id.password);
				Button btn_ok = (Button) view.findViewById(R.id.btn_Ok);
				Button btn_cancle = (Button) view.findViewById(R.id.btn_cancle);

			}
		});

	}
}











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章