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控件是一种非常常见的组件,它用于创建弹出式窗口,通常用于显示警告、询问用户信息或提供额外的操作选项。在本文中,我们将深入探讨如何在Eclipse环境下使用Dialog控件来创建提示框,并了解...
本篇文章将深入探讨如何在Android中创建一个仿iOS样式的Dialog控件。 首先,我们需要了解iOS Dialog的基本特征。iOS的Dialog通常具有清晰的背景模糊效果,简洁的布局,以及与系统主题保持一致的色彩和图标。为了在...
CommonDialog控件是VB内置的一种标准控件,它提供了一种简单的方法来显示和操作系统级对话框,如打开文件、保存文件、颜色选择或字体选择等。这个用户控件可能扩展了CommonDialog的功能,提供了更方便的接口或者增强...
在Android开发中,底部弹出Dialog是一种常见的交互方式,它用于显示临时信息或者提供用户一些简短的操作选项。本文将详细讲解如何实现一个带有动画效果的底部弹出Dialog,并通过具体的代码实例进行演示。 首先,...
在Android开发中,Dialog是一种常见的用户交互元素,用于在用户界面中显示临时信息或进行简单的交互操作。通常,当我们使用AlertDialog构建一个对话框时,它的默认行为是在用户点击按钮(如"确定"或"取消")后自动...
总结来说,这个"android 省市区三级联动选择城市控件(dialog样式)"是一个实用的组件,它结合了三级联动的概念和Dialog的交互方式,为Android应用提供了高效、简洁的地址选择解决方案。开发者可以根据自己的需求,...
在Android开发中,`Dialog`控件是一种非常常见的用户界面元素,它用于显示临时信息或者进行简单的交互操作。当我们需要将一个`Dialog`显示在某个特定控件下方时,这涉及到对话框的位置调整和布局管理。本文将深入...
这一步可以根据需求添加各种控件,如TextView、Button等。 2. **集成超链接功能**:对于超链接的支持,通常会通过`TextView`并配合`MovementMethod`实现。具体做法是在`TextView`中设置HTML格式的文本,并指定`...
Dialog是Android系统提供的一个内置组件,用于展示与用户交互的重要信息。要自定义Dialog,我们需要创建一个新的类,继承自Dialog,并重写其onCreate()方法。在onCreate()中,我们可以使用LayoutInflater来加载...
本资源集合了Android中常用的Dialog样式,通过分析和学习,可以帮助开发者更高效地创建符合设计要求的对话框。 首先,让我们了解Dialog的基本结构和使用方式。Dialog是基于Activity的,通常由`AlertDialog.Builder`...
当然,为了提高复用性,我们还可以添加更多的方法来设置Dialog的各种属性,如标题、内容、按钮文本等。同时,对于更复杂的逻辑,可以考虑使用接口回调或者LiveData来处理确认和取消按钮的点击事件。 总结一下,...
在Android应用开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在涉及到支付功能时,为了提供更好的用户体验,通常会使用底部弹窗来显示支付选项。本篇将详细介绍如何在Android中实现一个自定义的...
本文将深入探讨几种常用的自定义Dialog的实现方法,以及如何通过自定义来满足各种复杂的UI需求。 首先,我们了解下Dialog的基本概念。Dialog在Android中是一种轻量级的窗口,通常用于显示临时信息或者请求用户的...
本资源“安卓Dialog对话框相关-androiddialog总结Dialog整理.rar”提供了关于Android Dialog的总结和示例,虽然不能确保所有代码都能直接运行,但它可以作为学习和参考的宝贵资料。 首先,我们来看Dialog的基本用法...
以下是对Android Dialog各种实现的详细解析: 1. 系统Dialog类型: - AlertDialog:这是最常见的Dialog类型,它可以包含一个标题、一个消息、一个或多个按钮。通过AlertDialog.Builder类创建,可以设置图标、标题...
在Android开发中,实现磨砂透明效果的Dialog是一种常见的需求,它可以为用户界面增添美观且交互性强的元素。本文将详细讲解如何通过自定义Dialog来实现这种效果,并且确保当用户点击Dialog之外的区域时,Dialog能够...
这篇博客"Android开发 - 常用控件"可能详细介绍了Android开发中的一些核心控件及其使用方法。由于没有直接提供博客的具体内容,我将根据Android开发中常见的控件类型和相关知识点进行阐述。 1. **按钮(Button)**:...
Android系统提供了多种预设的Dialog主题,例如`Theme.Dialog`、`Theme.AppCompat.Dialog`等。在创建Dialog时,可以通过设置`android:theme`属性来选择不同的主题,例如: ```xml <activity android:name="....