Android开发小结Part6:各种Dialog

参考原文:http://www.open-open.com/lib/view/open1328972876311.html

一.Dialog款式如下

Android开发小结Part6:各种Dialog

二.实现效果图如下

Android开发小结Part6:各种DialogAndroid开发小结Part6:各种Dialog Android开发小结Part6:各种Dialog

Android开发小结Part6:各种Dialog

 三.源代码
1.MainAcitvity.java

package com.example.dialogtest;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainDialogActivity extends Activity {

	private Button b1,b2,b3,b4,b5;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_dialog);
    
        b1=(Button)findViewById(R.id.button1);
        b2=(Button)findViewById(R.id.button2);
        b3=(Button)findViewById(R.id.button3);
        b4=(Button)findViewById(R.id.button4);
        b5=(Button)findViewById(R.id.button5);
  
        b1.setOnClickListener(new ButtonListener());
        b2.setOnClickListener(new ButtonListener());
        b3.setOnClickListener(new ButtonListener());
        b4.setOnClickListener(new ButtonListener());
        b5.setOnClickListener(new ButtonListener());

    }

    private class ButtonListener implements OnClickListener{

    	public void onClick(View v) {
    		final String[] itemStrings = {"Item1","Item2","Item3"};
    		switch(v.getId()){
    		case R.id.button1:
    			 AlertDialog.Builder dialog=new AlertDialog.Builder(MainDialogActivity.this);
    			 dialog.setTitle("简单弹出框")
    			 	   .setIcon(android.R.drawable.ic_dialog_info)
    			 	   .setMessage("弹出框")
    			 	   .setPositiveButton("确定", new DialogInterface.OnClickListener() {
    				
			 		   		public void onClick(DialogInterface dialog, int which) {
			 			    //写你自己的代码
			 		   		}
    			 	   })
    			 	   .setNegativeButton("取消", new DialogInterface.OnClickListener() {
    				
    				public void onClick(DialogInterface dialog, int which) {
    					dialog.cancel();//取消弹出框
    				}
    			}).create().show();
    			break;
    		case R.id.button2:
    			
    			AlertDialog.Builder builder=new AlertDialog.Builder(MainDialogActivity.this);
    			builder.setTitle("带列表弹出框")
    				   .setIcon(android.R.drawable.ic_lock_lock)
    				   .setItems(itemStrings, new DialogInterface.OnClickListener() {
    				
    					   public void onClick(DialogInterface dialog, int which) {
    						   Toast.makeText(getApplicationContext(), 
    								   		  "你点击的是"+itemStrings[which],
    								   		  Toast.LENGTH_LONG).show();	
    				}
    			}).create().show();
    			break;
    			case R.id.button3:
    				AlertDialog.Builder builder1=new AlertDialog.Builder(MainDialogActivity.this);
    				builder1.setTitle("带Radio弹出框")
    						.setIcon(android.R.drawable.ic_lock_lock)
    						.setSingleChoiceItems(itemStrings,-1, new DialogInterface.OnClickListener() {
    				
    				public void onClick(DialogInterface dialog, int which) {
    					Toast.makeText(getApplicationContext(), 
    								   "你点击的是"+itemStrings[which],
    								   Toast.LENGTH_LONG).show();	
    					}
    				}).create().show();
    				builder1.setCancelable(true);
    				break;
    				
    			case R.id.button4:
    				LayoutInflater inflater = 
                                        (LayoutInflater)getApplicationContext()
                                        .getSystemService(LAYOUT_INFLATER_SERVICE);
    				View view = inflater.inflate(R.layout.course_custom_dialog, null);
    				AlertDialog.Builder builder2=new AlertDialog.Builder(MainDialogActivity.this);
    				builder2.setView(view);
    				builder2.setTitle("添加课程")
    						.setPositiveButton("保存", new DialogInterface.OnClickListener() {
		    					@Override
		    					public void onClick(DialogInterface dialog, int which) {
		    						dialog.cancel();
		    					}
		    					
		    				})
		    				.setNegativeButton("取消", null)
		    				.create().show();
    				break;
    			case R.id.button5:
    				MainDialogActivity.this.finish();
    					break;
    		default:
    			break;
    		}
    	}
    	
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main_dialog, menu);
        return true;
    }
}



2.主窗口布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="简单弹出框" />

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="带列表弹出框" />

    <Button
        android:id="@+id/button3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="带Radio弹出框" />

    <Button
        android:id="@+id/button4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="自定义对话框" />

    <Button
        android:id="@+id/button5"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="退出" />

</LinearLayout>

3.自定义对话框布局文件

<?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" >
	


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >


        <TextView
            android:id="@+id/textView4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.01"
            android:text="课程名称:" />

        <EditText
            android:id="@+id/etCName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" >

            <requestFocus />
        </EditText>

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >





        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="学        时:" />



        <EditText
            android:id="@+id/etHours"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >





        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="学        分:" />
 
        <EditText
            android:id="@+id/etCredit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.01"
            android:text="授课教师:" />

        <EditText
            android:id="@+id/etTNo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" />

    </LinearLayout>

    

</LinearLayout>


你可能感兴趣的:(android,dialog,对话框,弹出框,自定义对话框)