Android常用Dialog的几种格式显示,普通,列表,单选,多选,可编辑dialog等
2017-01-08 23:37
537 查看
Android中几种常见的dialog显示格式,话不多说,直接上代码
下来是布局文件,很简单就5个button
好了,结束了。代码比较简单,相信大家都能看懂,我就不传源码了。
package diaog.com.diaogdemo; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements View.OnClickListener { private Button btn_Normal; // 普通 private Button btn_List; // 列表 private Button btn_Choice; // 单选 private Button btn_MoreChoice; // 多选 private Button btn_EditText;//可输入 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initview(); } private void initview() { btn_Normal = (Button) findViewById(R.id.normal_btn); btn_List = (Button) findViewById(R.id.list_btn); btn_Choice = (Button) findViewById(R.id.choice_btn); btn_MoreChoice = (Button) findViewById(R.id.more_choice_btn); btn_EditText = (Button) findViewById(R.id.editext_btn); btn_Normal.setOnClickListener(this); btn_List.setOnClickListener(this); btn_Choice.setOnClickListener(this); btn_MoreChoice.setOnClickListener(this); btn_EditText.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.normal_btn: dialogNormal();// 普通 break; case R.id.list_btn: dialogList(); // 列表 break; case R.id.choice_btn: dialogChoice(); // 单选 break; case R.id.more_choice_btn: dialogMoreChoice();// 多选 break; case R.id.editext_btn: dialogEditText();//可编辑 break; default: break; } } /** * 普通 */ private void dialogNormal() { DialogInterface.OnClickListener dialogOnclicListener = new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (which) { case Dialog.BUTTON_POSITIVE: Toast.makeText(MainActivity.this, "确认", Toast.LENGTH_SHORT).show(); break; case Dialog.BUTTON_NEGATIVE: Toast.makeText(MainActivity.this, "取消", Toast.LENGTH_SHORT).show(); break; case Dialog.BUTTON_NEUTRAL: Toast.makeText(MainActivity.this, "忽略", Toast.LENGTH_SHORT).show(); break; } } }; AlertDialog.Builder builder = new AlertDialog.Builder(this,3); builder.setIcon(R.mipmap.ic_launcher); builder.setTitle("普通对话框"); builder.setMessage("是否确认退出?"); builder.setPositiveButton("确认", dialogOnclicListener); builder.setNegativeButton("取消", dialogOnclicListener); builder.setNeutralButton("忽略", dialogOnclicListener); builder.create().show(); } /** * 列表 */ private void dialogList() { final String items[] = {"刘德华", "张柏芝", "蔡依林", "张学友"}; AlertDialog.Builder builder = new AlertDialog.Builder(this,3); builder.setTitle("列表"); // builder.setMessage("是否确认退出?"); //设置内容 builder.setIcon(R.mipmap.ic_launcher); // 设置列表显示,注意设置了列表显示就不要设置builder.setMessage()了,否则列表不起作用。 builder.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show(); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT) .show(); } }); builder.create().show(); } /** * 单选 */ private void dialogChoice() { final String items[] = {"男", "女", "其他"}; AlertDialog.Builder builder = new AlertDialog.Builder(this,3); builder.setTitle("单选"); builder.setIcon(R.mipmap.ic_launcher); builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show(); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT) .show(); } }); builder.create().show(); } /** * 多选 */ private void dialogMoreChoice() { final String items[] = {"JAVA", "C++", "JavaScript", "MySQL"}; final boolean selected[] = {true, false, true, false}; AlertDialog.Builder builder = new AlertDialog.Builder(this,3); builder.setTitle("多选"); builder.setIcon(R.mipmap.ic_launcher); builder.setMultiChoiceItems(items, selected, new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(MainActivity.this, items[which] + isChecked, Toast.LENGTH_SHORT) .show(); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Toast.makeText(MainActivity.this, "确定", Toast.LENGTH_SHORT) .show(); // android会自动根据你选择的改变selected数组的值。 // for (int i = 0; i < selected.length; i++) { // Log.e("hongliang", "" + selected[i]); // } } }); builder.create().show(); } /** * 可输入的对框框 */ private void dialogEditText() { final EditText editText = new EditText(this); final AlertDialog.Builder builder = new AlertDialog.Builder(this,3); builder.setTitle("可编辑"); builder.setIcon(R.mipmap.ic_launcher); builder.setView(editText); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, editText.getText().toString() + "", Toast.LENGTH_LONG).show(); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); builder.create().show(); } }
下来是布局文件,很简单就5个button
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="diaog.com.diaogdemo.MainActivity"> <Button android:id="@+id/normal_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="普通对话框" /> <Button android:id="@+id/list_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/normal_btn" android:text="列表对话框" /> <Button android:id="@+id/choice_btn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/list_btn" android:text="单选列表对话框" /> <Button android:id="@+id/more_choice_btn" android:layout_width="match_parent" android:layout_below="@+id/choice_btn" android:layout_height="wrap_content" android:text="多选列表对话框" /> <Button android:id="@+id/editext_btn" android:layout_width="match_parent" android:layout_below="@+id/more_choice_btn" android:layout_height="wrap_content" android:text="可编辑输入对话框" /> </RelativeLayout>
好了,结束了。代码比较简单,相信大家都能看懂,我就不传源码了。
相关文章推荐
- DWZ刷新dialog解决方法
- Dialog底部弹出自定义view并且伴随动画弹出和消失
- Androd自定义对话框Dialog视图及参数传递的实现方法
- VC创建圆角dialog的实现方法
- MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
- js Dialog 去掉右上角的X关闭功能
- jquery BS,dialog控件自适应大小
- jQuery EasyUI Dialog拖不下来如何解决
- jQuery dataTables与jQuery UI 对话框dialog的使用教程
- jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
- jquery ui dialog实现弹窗特效的思路及代码
- JQUERY dialog的用法详细解析
- 修改Jquery Dialog 位置的实现方法
- jquery ui dialog替代confirm实例分析
- Jquery Easyui对话框组件Dialog使用详解(14)
- jQuery实现dialog设置focus焦点的方法
- Android自定义Dialog实现文字动态加载效果
- Locate a File Using a File Open Dialog Box
- Save a File Using a File Save Dialog Box
- Android中自定义对话框(Dialog)的实例代码