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

来源:互联网 发布:制作手写的软件 编辑:程序博客网 时间:2024/04/23 14:14

效果图如下:


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

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;//popuWindowpublic 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() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which) {//getWindow().setBackgroundDrawableResource(R.color.blue);index=which;}}).setPositiveButton("确定", new OnClickListener() {@Overridepublic 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() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {if(isChecked){}else{}}}).create().show();}@Overrideprotected 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
原创粉丝点击