`

android 各种常用,不易记的dialog,等控件整理

 
阅读更多


package com.su.testalldialog;

import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Spinner;
import android.widget.Toast;

public class TestAllDialogActivity extends Activity {
	String[] weekdays;
	Context context;

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		context = this;
		weekdays = new String[] { "Sun", "Mon", "Tue", "Wed" };
		Button button1 = (Button) findViewById(R.id.button1);
		Button button2 = (Button) findViewById(R.id.button2);
		Button button3 = (Button) findViewById(R.id.button3);
		Button button4 = (Button) findViewById(R.id.button4);
		Button button5 = (Button) findViewById(R.id.button5);
		Button button6 = (Button) findViewById(R.id.button6);
		button6.setOnClickListener(listener);
		button5.setOnClickListener(listener);
		button1.setOnClickListener(listener);
		button2.setOnClickListener(listener);
		button3.setOnClickListener(listener);
		button4.setOnClickListener(listener);
		initSpinner();
		initAutocompletetextview();

	}

	private void initAutocompletetextview() {
		AutoCompleteTextView autocompletetextview = (AutoCompleteTextView) findViewById(R.id.autocompletetextview);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
				android.R.layout.simple_spinner_dropdown_item, weekdays);// 实现简单的adapter
		autocompletetextview.setAdapter(adapter);
	}

	private void initSpinner() {
		Spinner spinner = (Spinner) findViewById(R.id.spinner);
		spinner.setOnItemSelectedListener(slistener);
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,
				android.R.layout.simple_spinner_item, weekdays);// 实现简单的adapter
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);// 实现选项的样式
		spinner.setAdapter(adapter);
	}

	private OnItemSelectedListener slistener = new OnItemSelectedListener() {

		@Override
		public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
				long arg3) {
			toast(weekdays[arg2]);

		}

		@Override
		public void onNothingSelected(AdapterView<?> arg0) {
			// TODO Auto-generated method stub

		}
	};

	int index = 0;// 用来标记哪一项被选择
	private OnClickListener listener = new OnClickListener() {

		@Override
		public void onClick(View v) {

			Builder dialog = new AlertDialog.Builder(context);
			switch (v.getId()) {

			case R.id.button1:
				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("简单选择对话框");
				dialog.setItems(weekdays,
						new DialogInterface.OnClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which) {
								toast(weekdays[which]);

							}
						});
				dialog.show();
				break;
			case R.id.button2:
				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("单选对话框");
				dialog.setSingleChoiceItems(weekdays, 1,
						new DialogInterface.OnClickListener() {

							public void onClick(DialogInterface dialog,
									int which) {
								index = which;

							}
						});
				dialog.setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast(weekdays[index]);
							}
						});
				dialog.setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});

				dialog.show();
				break;
			case R.id.button3:
				final ArrayList<String> multiWeekadys = new ArrayList<String>();// 选择的数据放到list中

				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("复选对话框");
				final boolean[] checkeditems = new boolean[weekdays.length];// 设置一打开时的选择情况
				dialog.setMultiChoiceItems(weekdays, checkeditems,
						new DialogInterface.OnMultiChoiceClickListener() {

							@Override
							public void onClick(DialogInterface dialog,
									int which, boolean isChecked) {
								if (isChecked) {
									checkeditems[which] = true;// 获取一个被选中的列表

								}

							}
						});

				dialog.setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								for (int j = 0; j < checkeditems.length; j++) {// 遍历一遍看那个是选中的
									if (checkeditems[j]) {
										multiWeekadys.add(weekdays[j]);
									}

								}

								toast(multiWeekadys.toString());
							}
						});
				dialog.setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});
				dialog.show();
				break;
			case R.id.button4:
				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("简单警告");
				dialog.setMessage("测试警告");
				dialog.setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast("是");

							}
						});
				dialog.setNeutralButton("中",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast("中");
							}
						});
				dialog.setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});

				dialog.show();
				break;
			case R.id.button5:
				final EditText et = new EditText(context);
				et.setText("测试");
				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("简单警告");
				dialog.setMessage("测试警告");
				dialog.setView(et);
				dialog.setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast(et.getText().toString());

							}
						});
				dialog.setNeutralButton("中",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast("中");
							}
						});
				dialog.setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});

				dialog.show();
				break;
			case R.id.button6:

				final ImageView im = new ImageView(context);
				im.setImageResource(R.drawable.ic_launcher);

				dialog.setIcon(R.drawable.ic_launcher);
				dialog.setTitle("简单警告");
				dialog.setMessage("测试警告");
				dialog.setView(im);

				dialog.setPositiveButton("是",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});
				dialog.setNeutralButton("中",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {
								toast("中");
							}
						});
				dialog.setNegativeButton("否",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int i) {

							}
						});

				dialog.show();
				break;

			default:
				break;
			}

		}
	};

	private void toast(String msg) {
		Toast.makeText(context, msg, 10).show();

	}
}


分享到:
评论

相关推荐

    各种android弹出dialog效果以及各种dialog样式

    各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果...

    Dialog控件的使用

    在安卓开发中,Dialog控件是一种非常常见的组件,它用于创建弹出式窗口,通常用于显示警告、询问用户信息或提供额外的操作选项。在本文中,我们将深入探讨如何在Eclipse环境下使用Dialog控件来创建提示框,并了解...

    Android仿IosDialog控件

    本篇文章将深入探讨如何在Android中创建一个仿iOS样式的Dialog控件。 首先,我们需要了解iOS Dialog的基本特征。iOS的Dialog通常具有清晰的背景模糊效果,简洁的布局,以及与系统主题保持一致的色彩和图标。为了在...

    VB用户控件对话框控件API CommonDialog用户控件

    CommonDialog控件是VB内置的一种标准控件,它提供了一种简单的方法来显示和操作系统级对话框,如打开文件、保存文件、颜色选择或字体选择等。这个用户控件可能扩展了CommonDialog的功能,提供了更方便的接口或者增强...

    Android 底部弹出dialog+动画

    在Android开发中,底部弹出Dialog是一种常见的交互方式,它用于显示临时信息或者提供用户一些简短的操作选项。本文将详细讲解如何实现一个带有动画效果的底部弹出Dialog,并通过具体的代码实例进行演示。 首先,...

    Android 控制关闭Dialog

    在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。通常,当我们使用AlertDialog构建一个对话框时,它的默认行为是在用户点击按钮(如"确定"或"取消")后自动...

    android 省市区三级联动选择城市控件(dialog样式)

    总结来说,这个"android 省市区三级联动选择城市控件(dialog样式)"是一个实用的组件,它结合了三级联动的概念和Dialog的交互方式,为Android应用提供了高效、简洁的地址选择解决方案。开发者可以根据自己的需求,...

    dialog控件的位置

    在Android开发中,`Dialog`控件是一种非常常见的用户界面元素,它用于显示临时信息或者进行简单的交互操作。当我们需要将一个`Dialog`显示在某个特定控件下方时,这涉及到对话框的位置调整和布局管理。本文将深入...

    android 带超链接的自定义Dialog

    这一步可以根据需求添加各种控件,如TextView、Button等。 2. **集成超链接功能**:对于超链接的支持,通常会通过`TextView`并配合`MovementMethod`实现。具体做法是在`TextView`中设置HTML格式的文本,并指定`...

    Android自定义显示内容的Dialog

    Dialog是Android系统提供的一个内置组件,用于展示与用户交互的重要信息。要自定义Dialog,我们需要创建一个新的类,继承自Dialog,并重写其onCreate()方法。在onCreate()中,我们可以使用LayoutInflater来加载...

    Android中dialog常用样式

    本资源集合了Android中常用的Dialog样式,通过分析和学习,可以帮助开发者更高效地创建符合设计要求的对话框。 首先,让我们了解Dialog的基本结构和使用方式。Dialog是基于Activity的,通常由`AlertDialog.Builder`...

    Android自定义控件:可重用的自定义Dialog类

    当然,为了提高复用性,我们还可以添加更多的方法来设置Dialog的各种属性,如标题、内容、按钮文本等。同时,对于更复杂的逻辑,可以考虑使用接口回调或者LiveData来处理确认和取消按钮的点击事件。 总结一下,...

    Android支付底部弹窗自定义dialog

    在Android应用开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在涉及到支付功能时,为了提供更好的用户体验,通常会使用底部弹窗来显示支付选项。本篇将详细介绍如何在Android中实现一个自定义的...

    Android界面之几种常用的自定义Dialog

    本文将深入探讨几种常用的自定义Dialog的实现方法,以及如何通过自定义来满足各种复杂的UI需求。 首先,我们了解下Dialog的基本概念。Dialog在Android中是一种轻量级的窗口,通常用于显示临时信息或者请求用户的...

    安卓Dialog对话框相关-androiddialog总结Dialog整理.rar

    本资源“安卓Dialog对话框相关-androiddialog总结Dialog整理.rar”提供了关于Android Dialog的总结和示例,虽然不能确保所有代码都能直接运行,但它可以作为学习和参考的宝贵资料。 首先,我们来看Dialog的基本用法...

    Android Dialog各种实现

    以下是对Android Dialog各种实现的详细解析: 1. 系统Dialog类型: - AlertDialog:这是最常见的Dialog类型,它可以包含一个标题、一个消息、一个或多个按钮。通过AlertDialog.Builder类创建,可以设置图标、标题...

    android 磨砂透明效果的dialog

    在Android开发中,实现磨砂透明效果的Dialog是一种常见的需求,它可以为用户界面增添美观且交互性强的元素。本文将详细讲解如何通过自定义Dialog来实现这种效果,并且确保当用户点击Dialog之外的区域时,Dialog能够...

    Android开发 - 常用控件

    这篇博客"Android开发 - 常用控件"可能详细介绍了Android开发中的一些核心控件及其使用方法。由于没有直接提供博客的具体内容,我将根据Android开发中常见的控件类型和相关知识点进行阐述。 1. **按钮(Button)**:...

    Android Dialog更改样式及显示位置

    Android系统提供了多种预设的Dialog主题,例如`Theme.Dialog`、`Theme.AppCompat.Dialog`等。在创建Dialog时,可以通过设置`android:theme`属性来选择不同的主题,例如: ```xml &lt;activity android:name="....

Global site tag (gtag.js) - Google Analytics