Android Dialog 示例

轉載請註明出處:【菜鳥的成長史http://blog.csdn.net/zjbpku/article/details/7836587

最近對Dialog的使用比較頻繁,在這個過程中發現經常用到的對話框也就幾種,個人將其總結爲以下幾種:

樣式一:

                

   代碼:

	new AlertDialog.Builder(MainActivity.this)
	.setTitle("AlertDialog")
	// .setIcon(icon)
	.setMessage("text")
	.setPositiveButton("ok", new OnClickListener() {

		public void onClick(DialogInterface dialog,
			int which) {
				// TODO Auto-generated method stub
			}
		}).setNegativeButton("cancel", new OnClickListener() {
		@Override
		public void onClick(DialogInterface dialog,
			int which) {
				// TODO Auto-generated method stub
							}
		}).show();

樣式二:

代碼:

	final CharSequence[] items = { "Man", "Woman", "Boy", "Girl" };
				 
	new AlertDialog.Builder(MainActivity.this)
	.setTitle("Pick a item")
	.setItems(items, new OnClickListener() {
		public void onClick(DialogInterface dialog, int item) {
			Toast.makeText(getApplicationContext(),
				items[item], Toast.LENGTH_SHORT).show();
			}
	}).show();

樣式三:

            

  代碼:

	final CharSequence[] items1 = { "Man", "Woman", "Boy", "Girl" };
				 
	new AlertDialog.Builder(MainActivity.this)
	.setTitle("Pick a item")
	.setSingleChoiceItems(items1, -1,
		new OnClickListener() {
		public void onClick(DialogInterface dialog,
			int position) {
		Toast.makeText(
			getApplicationContext(),
				position + "->"
				+ items1[position],
					Toast.LENGTH_SHORT).show();
									
	}).show();

樣式四:

            


   代碼:

	final CharSequence[] items2 = { "Man", "Woman", "Boy", "Girl" };
	final boolean[] checked = { false, false, false, false };

	new AlertDialog.Builder(MainActivity.this)
	.setTitle("Pick a item")
	.setMultiChoiceItems(items2, checked,
		new OnMultiChoiceClickListener() {
			public void onClick(DialogInterface dialog,
				int position, boolean isChecked) {
					Toast.makeText(
						getApplicationContext(),
							items2[position] + "->"
								+ isChecked,
				Toast.LENGTH_SHORT).show();
									}
	}).show();

樣式五:

            


xml:

        命名爲layout.xml,置於layout文件夾下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	        android:layout_height="wrap_content"
	        android:layout_width="wrap_content"
		android:background="#ffffffff" 
		android:orientation="horizontal"
		android:id="@+id/dialog">
	<TextView 
		android:layout_height="wrap_content"
		android:layout_width="wrap_content"
		android:id="@+id/tvname" 
		android:text="姓名:" />
	<EditText 
	    android:layout_height="wrap_content"
	    android:layout_width="wrap_content" 
	    android:id="@+id/etname" 
	    android:minWidth="100dip"/>
</LinearLayout>

java代碼:        

	LayoutInflater inflater = getLayoutInflater();
	View layout = inflater.inflate(R.layout.layout, null);
	AlertDialog.Builder builder = new AlertDialog.Builder(
		MainActivity.this);
	builder.setTitle("自定義佈局").setView(layout)
	.setPositiveButton("確定", null)
	.setNegativeButton("取消", null).show();
如果要獲取EditView中的數據可在xml中定義id,然後 獲取edit = (EditText)layout.findViewById(id),通過getText()方法獲取

 

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