Android之对话框AlertDialog及其子类的使用(二)
2016-06-30 13:34
459 查看
效果图如下:
简单的写了个对话框的代码,以便以后复习,那样也方便
activity_main:
MainActivity:
自定义对话框的布局activity_myview:
点击打开链接可以下载代码
简单的写了个对话框的代码,以便以后复习,那样也方便
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>
点击打开链接可以下载代码
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories