Android之对话框AlertDialog及其子类的使用(二)

效果图如下:


简单的写了个对话框的代码,以便以后复习,那样也方便

activity_main:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
	<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="文本对话框" 
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="简单文本对话框" 
        android:onClick="myBtn2"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="单选对话框" 
        android:onClick="myBtn3"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="多选对话框"
        android:onClick="myBtn4" 
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="适配器对话框"  
        android:onClick="myBtn5"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="自定义View对话框" 
        android:onClick="myBtn6"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="日期选择器对话框" 
        android:onClick="myBtn7"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="时间选择器对话框" 
        android:onClick="myBtn8"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="进度条对话框" 
        android:onClick="myBtn9"
        android:layout_gravity="center_horizontal"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="popupWindow对话框" 
        android:onClick="myBtn10"
        android:layout_gravity="center_horizontal"/>

</LinearLayout>

MainActivity:

package com.example.dialogapp;

import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.DatePicker;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.TimePicker;
import android.widget.Toast;

public class MainActivity extends Activity {
	private PopupWindow pw;
	//popuWindow
	public void myBtn10(View view){
		//
		//
		if(pw!=null&&pw.isShowing()){
			pw.dismiss();
		}else{
		
		ImageView iv=new ImageView(this);
		iv.setImageResource(R.drawable.ic_launcher);
		iv.setOnTouchListener(new OnTouchListener() {
			
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				if(pw!=null&&pw.isShowing())
					pw.dismiss();
				return false;
			}
		});
		pw=new PopupWindow(iv,200,200);
		//
		pw.showAtLocation(view, Gravity.CENTER, 0, 0);
//		pw.showAsDropDown(view);
		
		}
			
	}
	
	
	
	
	private int myear,mmonth,mday;
	private int mhour,mminute;
	
	public void myBtn9(View view){
		/*
		ProgressDialog dialog=ProgressDialog.show(this, "", "",true,false);
		dialog.cancel();*/
//		dialog.dismiss();
		//
		ProgressDialog dialog=new ProgressDialog(this);
		dialog.setTitle("进度条对话框");
		dialog.setMessage("zhengzai...");
		dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//		dialog.setIndeterminate(true);
		dialog.show();
		dialog.setProgress(50);
	}
	
	public void myBtn8(View view){
		Calendar c=Calendar.getInstance();
		mhour=c.get(Calendar.HOUR_OF_DAY);
		mminute=c.get(Calendar.MINUTE);
		TimePickerDialog dialog=new TimePickerDialog(this, 
				new OnTimeSetListener() {
					
					@Override
					public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
						Toast.makeText(MainActivity.this, "时间为:"+mhour+"分钟为:"+mminute, 0).show();
						
					}
				}, 
				mhour, mminute, true);
		dialog.show();
	}
	
	public void myBtn7(View view){
		//用日历来设置时间
		Calendar c=Calendar.getInstance();
		myear=c.get(Calendar.YEAR);
		mmonth=c.get(Calendar.MONTH);
		mday=c.get(Calendar.DAY_OF_MONTH);
		
		DatePickerDialog dialog=new DatePickerDialog(this, new OnDateSetListener() {
			
			@Override
			public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
				Toast.makeText(MainActivity.this, "时间为:"+myear+"-"+(mmonth+1)+"-"+mday, 0).show();
				
			}
		}, 
				myear, mmonth, mday);
		
		dialog.show();
	}
	
	
	
	public void myBtn5(View v){
		new AlertDialog.Builder(this)
		.setTitle("适配器对话框");
	}
	
	public void myBtn6(View view){
		View v=getLayoutInflater().inflate(R.layout.activity_myview, null);
		new AlertDialog.Builder(this)
		.setTitle("自定义View对话框")
		.setView(v)
		.create().show();
	}

	private int index;
	private String[] msg={"红色","蓝色","黄色","绿色"};
	private int[] colors={R.color.red,R.color.blue,R.color.yellow,R.color.green};
	
	public void myBtn2(View v){
		new AlertDialog.Builder(this)
		.setTitle("简单文本对话框")
		.setIcon(R.drawable.ic_launcher)
		.setItems(msg, new OnClickListener() {
			
			public void onClick(DialogInterface dialog, int which) {
				
				getWindow().setBackgroundDrawableResource(colors[which]);	
			}
		})
		.create().show();
	}
	public void myBtn3(View v){
		new AlertDialog.Builder(this)
		.setTitle("单选对话框")
		.setIcon(R.drawable.ic_launcher)
		.setSingleChoiceItems(msg, 1, new OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//getWindow().setBackgroundDrawableResource(R.color.blue);
				index=which;
			}
		})
		.setPositiveButton("确定", new OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				
				getWindow().setBackgroundDrawableResource(colors[index]);
				
			}
		})
		
		.create().show();
	}

	public void myBtn4(View v){
			new AlertDialog.Builder(this)
			.setTitle("多选对话框")
			.setIcon(R.drawable.ic_launcher)
			.setMultiChoiceItems(msg, new boolean[]{false,false,false,false},
					new OnMultiChoiceClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which, boolean isChecked) {
					if(isChecked){
						
					}else{
						
					}
					
				}
			})
			
			.create().show();
		}
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		
		getWindow().setFlags(
				WindowManager.LayoutParams.FLAG_FULLSCREEN,
				WindowManager.LayoutParams.FLAG_FULLSCREEN);
		setContentView(R.layout.activity_main);
	}

}

自定义对话框的布局activity_myview:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <ImageView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/a1"
        android:layout_gravity="center_horizontal"/>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="还能不能愉快的玩耍了"
        android:textColor="#33cc33"
        android:textSize="25sp"
        android:layout_gravity="center_horizontal"/>
    <RelativeLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="能"
            android:textSize="20sp"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="20dp"
            android:background="@drawable/btn_selector"
            />
        <Button 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="不能"
            android:layout_alignParentRight="true"
            android:layout_marginRight="20dp"
            android:background="@drawable/btn_selector"/>
    </RelativeLayout>

</LinearLayout>


点击打开链接可以下载代码




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值