各种对话框的实现(文字对话框,选择对话框,弹出输入对话框,单选,多选对话框,自定义对话框)
2017-08-14 20:15
615 查看
package com.example.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
//单选初始化数据
private String[] sex=new String[]{"男","女","春哥"};
//单选默认选中
private int select=1;
//多选初始化数据
private String[] hobby=new String[]{"吃","睡","打豆豆"};
//多选默认选中
private boolean[] selectH=new boolean[]{true,false,true};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.bt_1).setOnClickListener(this);
findViewById(R.id.bt_2).setOnClickListener(this);
findViewById(R.id.bt_3).setOnClickListener(this);
findViewById(R.id.bt_4).setOnClickListener(this);
findViewById(R.id.bt_5).setOnClickListener(this);
findViewById(R.id.bt_6).setOnClickListener(this);
findViewById(R.id.bt_7).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
//文字对话框
case R.id.bt_1:
//先创建对话框的builder
AlertDialog.Builder b1=new AlertDialog.Builder(this);
//用builder设置标题
b1.setTitle("提示");
//用builder设置内容
b1.setMessage("您确定删除?");
//builder设置确定按钮 setp
b1.setPositiveButton("确认",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b1.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
//创建出对话框
b1.create();
//展示对话框
b1.show();
break;
//选择对话框
case R.id.bt_2:
AlertDialog.Builder b2=new AlertDialog.Builder(this);
b2.setTitle("选择");
b2.setMessage("你喜欢什么性别?");
b2.setPositiveButton("男", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b2.setNegativeButton("女", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b2.setNeutralButton("中性", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
AlertDialog create = b2.create();
create.show();
break;
//输入对话框
case R.id.bt_3:
AlertDialog.Builder b3=new AlertDialog.Builder(this);
b3.setTitle("");
break;
//单选对话框
case R.id.bt_4:
AlertDialog.Builder b4=new AlertDialog.Builder(this);
b4.setTitle("单选对话框");
b4.setSingleChoiceItems(sex, select, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
select=arg1;
}
});
b4.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "你选择的性别是:"+sex[select], Toast.LENGTH_SHORT).show();
}
});
b4.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b4.create().show();
break;
//多选对话框
case R.id.bt_5:
AlertDialog.Builder b5=new AlertDialog.Builder(this);
b5.setTitle("多选对话框");
b5.setMultiChoiceItems(hobby, selectH,new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface arg0,
int postion, boolean isSelect) {
// TODO Auto-generated method stub
selectH[postion] = isSelect;
}
});
b5.setPositiveButton("确定", new DialogInterface. OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
String temp=" ";
for (int i = 0; i < selectH.length; i++) {
if(selectH[i]==true)
{
temp+=hobby[i];
}
}
Toast.makeText(MainActivity.this, "你选择了"+temp, Toast.LENGTH_SHORT).show();
}
});
b5.create();
b5.show();
break;
//弹出列表对话框
case R.id.bt_6:
AlertDialog.Builder b6=new AlertDialog.Builder(this);
b6.setTitle("列表");
b6.setItems(sex, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
ab94
Toast.makeText(MainActivity.this, sex[arg1], Toast.LENGTH_SHORT).show();
}
});
b6.create();
b6.show();
break;
//自定义对话框
case R.id.bt_7:
//获取自己的布局
View view = LayoutInflater.from(this).inflate(R.layout.item, null);
//找控件
final EditText et_name= (EditText) findViewById(R.id.et_name);
final EditText et_passowrd= (EditText) findViewById(R.id.et_password);
AlertDialog.Builder b7=new AlertDialog.Builder(this);
b7.setTitle("登录");
b7.setView(view);
b7.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
if(TextUtils.isEmpty(et_name.getText()))
{
Toast.makeText(MainActivity.this, "用户名为空", Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(et_passowrd.getText())){
Toast.makeText(MainActivity.this, "密码为空", Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
}
});
b7.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b7.create();
b7.show();
break;
}
}
}
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.TextureView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
//单选初始化数据
private String[] sex=new String[]{"男","女","春哥"};
//单选默认选中
private int select=1;
//多选初始化数据
private String[] hobby=new String[]{"吃","睡","打豆豆"};
//多选默认选中
private boolean[] selectH=new boolean[]{true,false,true};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.bt_1).setOnClickListener(this);
findViewById(R.id.bt_2).setOnClickListener(this);
findViewById(R.id.bt_3).setOnClickListener(this);
findViewById(R.id.bt_4).setOnClickListener(this);
findViewById(R.id.bt_5).setOnClickListener(this);
findViewById(R.id.bt_6).setOnClickListener(this);
findViewById(R.id.bt_7).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
//文字对话框
case R.id.bt_1:
//先创建对话框的builder
AlertDialog.Builder b1=new AlertDialog.Builder(this);
//用builder设置标题
b1.setTitle("提示");
//用builder设置内容
b1.setMessage("您确定删除?");
//builder设置确定按钮 setp
b1.setPositiveButton("确认",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b1.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
//创建出对话框
b1.create();
//展示对话框
b1.show();
break;
//选择对话框
case R.id.bt_2:
AlertDialog.Builder b2=new AlertDialog.Builder(this);
b2.setTitle("选择");
b2.setMessage("你喜欢什么性别?");
b2.setPositiveButton("男", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b2.setNegativeButton("女", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b2.setNeutralButton("中性", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
AlertDialog create = b2.create();
create.show();
break;
//输入对话框
case R.id.bt_3:
AlertDialog.Builder b3=new AlertDialog.Builder(this);
b3.setTitle("");
break;
//单选对话框
case R.id.bt_4:
AlertDialog.Builder b4=new AlertDialog.Builder(this);
b4.setTitle("单选对话框");
b4.setSingleChoiceItems(sex, select, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
select=arg1;
}
});
b4.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "你选择的性别是:"+sex[select], Toast.LENGTH_SHORT).show();
}
});
b4.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b4.create().show();
break;
//多选对话框
case R.id.bt_5:
AlertDialog.Builder b5=new AlertDialog.Builder(this);
b5.setTitle("多选对话框");
b5.setMultiChoiceItems(hobby, selectH,new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface arg0,
int postion, boolean isSelect) {
// TODO Auto-generated method stub
selectH[postion] = isSelect;
}
});
b5.setPositiveButton("确定", new DialogInterface. OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
String temp=" ";
for (int i = 0; i < selectH.length; i++) {
if(selectH[i]==true)
{
temp+=hobby[i];
}
}
Toast.makeText(MainActivity.this, "你选择了"+temp, Toast.LENGTH_SHORT).show();
}
});
b5.create();
b5.show();
break;
//弹出列表对话框
case R.id.bt_6:
AlertDialog.Builder b6=new AlertDialog.Builder(this);
b6.setTitle("列表");
b6.setItems(sex, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
ab94
Toast.makeText(MainActivity.this, sex[arg1], Toast.LENGTH_SHORT).show();
}
});
b6.create();
b6.show();
break;
//自定义对话框
case R.id.bt_7:
//获取自己的布局
View view = LayoutInflater.from(this).inflate(R.layout.item, null);
//找控件
final EditText et_name= (EditText) findViewById(R.id.et_name);
final EditText et_passowrd= (EditText) findViewById(R.id.et_password);
AlertDialog.Builder b7=new AlertDialog.Builder(this);
b7.setTitle("登录");
b7.setView(view);
b7.setPositiveButton("登录", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
if(TextUtils.isEmpty(et_name.getText()))
{
Toast.makeText(MainActivity.this, "用户名为空", Toast.LENGTH_SHORT).show();
return;
}
if(TextUtils.isEmpty(et_passowrd.getText())){
Toast.makeText(MainActivity.this, "密码为空", Toast.LENGTH_SHORT).show();
return;
}
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
}
});
b7.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
});
b7.create();
b7.show();
break;
}
}
}
相关文章推荐
- android Dialog 各种Dialog 三个选项的、进度条的、单选的、多选的、自定义的对话框
- 自定义弹出窗口,实现可输入可过滤自动选择下拉框
- Lance老师UI系列教程第五课->自定义风格单选多选对话框的实现
- Lance老师UI系列教程第五课->自定义风格单选多选对话框的实现
- Lance老师UI系列教程第五课->自定义风格单选多选对话框的实现
- Lance老师UI系列教程第五课->自定义风格单选多选对话框的实现
- material 风格和 ios 风格,可传入 context 构建,可在任意界面弹出,包含了 loading,alert,单选和多选对话框,输入对话框,actionSheet 和 bottomShe
- android Dialog 各种Dialog 三个选项的、进度条的、单选的、多选的、自定义的对话框
- Android 自定义Textview实现文字两端对齐功能和长按自由选择文字弹出自定义ActionMenu功能(二)自定义ActionMenu
- Android 自定义Textview实现文字两端对齐功能和长按自由选择文字弹出自定义ActionMenu功能(一)
- 显示选择省份的三种列表对话框-列表对话框,单选列表对话框,多选列表对话框
- jquery实现弹出自定义对话框,父页面变灰
- 自定义Dialog(图片,文字说明,单选按钮)----类ListPreference实现(2)
- asp.net 中点击button弹出模式对话框,选择值后返回到页面中(window.showModalDialog实现)
- 自定义ListView item包含checkbox实现单选和多选
- 通过纯JS和css实现自定义弹出对话框
- 自定义Dialog对话框并实现从底部弹出的动画效果
- 1怎样让输入的text文本填写的部分只添加数字、2怎样将输入的数字一次性全部删除 3怎样选择密码 让它不显示 4 怎样实现在没有return的情况下点击button的情况下就能够使键盘页面下落5 怎样实现点击指定的button来对使指定的text进行键盘弹出 6怎样改变button按钮的状态
- Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解
- vue - 使用vue实现自定义多选与单选的答题功能