效果图如下:
简单的写了个对话框的代码,以便以后复习,那样也方便
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>