Android对话框详解
2015-11-22 23:11
316 查看
package com.example.testnotification; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.os.Bundle; import android.view.View; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void tongzhi(View v) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("对话框标题"); builder.setIcon(R.drawable.ic_launcher); builder.setMessage("对话框的标题哈哈哈哈哈啊哈哈哈哈哈"); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "确定", 0).show(); } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "取消", 0).show(); } }); builder.create().show(); } public void danxuan(View v) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("单选对话框标题"); builder.setIcon(R.drawable.ic_launcher); String[] items = new String[] { "test1", "test2", "test3" }; builder.setSingleChoiceItems(items, 0, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub int id = which + 1; Toast.makeText(MainActivity.this, "选择test" + id, 0).show(); } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "取消", 0).show(); dialog.dismiss(); } }); builder.create().show(); } public void duoxuan(View v) { AlertDialog.Builder builder = new Builder(this); builder.setTitle("单选对话框标题"); builder.setIcon(R.drawable.ic_launcher); String[] items = new String[] { "test1", "test2", "test3", "test4" }; boolean[] checkedItems = { true, false, true, false }; builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { int id = which + 1; if (isChecked) Toast.makeText(MainActivity.this, "test" + id + "被选中", 0).show(); else { Toast.makeText(MainActivity.this, "test" + id + "取消选中", 0).show(); } } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "取消", 0).show(); dialog.dismiss(); } }); builder.create().show(); } public void jindu(View v) { ProgressDialog pd = new ProgressDialog(this); pd.setTitle("对话框标题"); pd.setIcon(R.drawable.ic_launcher); pd.setMessage("进度条对话框内容"); pd.setCanceledOnTouchOutside(true); pd.setOnCancelListener(new OnCancelListener() { public void onCancel(DialogInterface dialog) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "取消", 0).show(); } }); pd.show(); } public void jindu2(View v) { final ProgressDialog pd = new ProgressDialog(this); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setMax(100); pd.show(); new Thread() { public void run() { for(int i=0;i<=100;i++) { try { Thread.sleep(30); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } pd.setProgress(i); } }; }.start(); } }
对应的配置文件
<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:id="@+id/ll_test"
android:orientation="vertical" >
<Button
android:onClick="tongzhi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="通知对话框" />
<Button
android:onClick="danxuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选对话框" />
<Button
android:onClick="duoxuan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="多选对话框" />
<Button
android:onClick="jindu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="进度对话框" />
<Button
android:onClick="jindu2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="进度对话框2" />
</LinearLayout>
相关文章推荐
- Android进程
- android中用GET和POST的方法向服务器上传数据
- Android图片色彩变幻
- Android 属性动画
- Android图片色彩变幻
- Android AIDL:跨进程调用Service (AIDL Service)
- Android实践项目汇报(三)
- Android 中文文档
- Android中dip、dp、sp、pt和px的区别
- Android学习笔记(一)
- Android自定义控件实现
- Android Studio的使用(十四)--如何查看资源或者函数在哪些类中被引用
- 教你搞定Android自定义ViewGroup
- android 通知
- Android开发手记(32) 使用摄像头拍照
- selector.xml(选择器)
- Android中多线程的用法
- 读书笔记--开发环境配置中的坑
- Android读书笔记------Drawable
- Android高斯模糊、高斯平滑(Gaussian Blur)【2】