Android开发之对话框
来源:互联网 发布:2017广联达软件多少钱 编辑:程序博客网 时间:2024/05/20 10:12
下面是四种对话框的样式:
package org.mobiletrain.test;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{private Button btn1,btn2,btn3,btn4;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second_layout);initData();}public void initData(){btn1 = (Button) findViewById(R.id.dialog_btn1);btn1.setOnClickListener(this);btn2 = (Button) findViewById(R.id.dalog_btn2);btn2.setOnClickListener(this);btn3 = (Button) findViewById(R.id.dalog_btn3);btn3.setOnClickListener(this);btn4 = (Button) findViewById(R.id.dalog_btn4);btn4.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.dialog_btn1:simpleDialog();break;case R.id.dalog_btn2:simpleListDialog();break;case R.id.dalog_btn3:simpleSingleChoiceDialog();break;case R.id.dalog_btn4:simpleMultiChoiceDialog();break;default:break;}}//确定对话框private void simpleDialog(){//创建一个AlertDialog.Builde对象AlertDialog.Builder builder = new Builder(MainActivity.this);//设置图标builder.setIcon(R.drawable.d_ku);//设置标题builder.setTitle("提示信息");//设置内容builder.setMessage("您确定要退出吗?");//设置确定和取消按钮builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "您点击了确定按钮", 0).show();}});builder.setNeutralButton("不知道", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "您点击了中间按钮", 0).show();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "您点击了取消按钮", 0).show();}});//使用AlertDialog.Builder的creat()方法创建一个对话框//AlertDialog dialog = builder.create();//显示对话框//dialog.show();builder.create().show();}//列表对话框,对于列表对话框是不能设置setMessage()属性的,不然列表项会显示不出来String items[] = {"三国演义","水浒传","红楼梦","西游记"};List<Integer> list = new ArrayList<Integer>();private void simpleListDialog(){AlertDialog.Builder builder = new Builder(MainActivity.this);builder.setIcon(R.drawable.d_ku);builder.setTitle("列表对话框");//创建列表对话框builder.setItems(items, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "您点击了" + items[which], 0).show();}});builder.create().show();}//单选对话框int singleIndex = 0;private void simpleSingleChoiceDialog(){AlertDialog.Builder builder = new Builder(MainActivity.this);builder.setIcon(R.drawable.d_landelini);builder.setTitle("单选对话框");builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {singleIndex = which;}});builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {toastText("您点击了" + items[singleIndex]);}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {toastText("您点击了取消按钮");}});builder.create().show();}//多选对话框private void simpleMultiChoiceDialog(){boolean checkedItems[] = {false, false, false, false};AlertDialog.Builder builder = new Builder(MainActivity.this);builder.setIcon(R.drawable.d_qinqin);builder.setTitle("多选对话框");builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {if(isChecked){list.add(which);}else{list.remove(which);}}});builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {int size = list.size();String result = "";for (int i = 0; i < size; i++) {result += items[list.get(i)];}toastText("您点击了" + result);list.clear();}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {toastText("您点击了取消按钮");}});builder.create().show();}private void toastText(String meg){Toast.makeText(MainActivity.this, meg, 0).show();}}下面还有三种我们自定义的对话框:
package org.mobiletrain.test;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.LinearLayout;import android.widget.Toast;public class SecondActivity extends Activity implements OnClickListener{private Button btn5,btn6,btn7;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.item_layout);initData();}public void initData(){btn5 = (Button) findViewById(R.id.dialog_btn5);btn5.setOnClickListener(this);btn6 = (Button) findViewById(R.id.dialog_btn6);btn6.setOnClickListener(this);btn7 = (Button) findViewById(R.id.dialog_btn7);btn7.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.dialog_btn5:simpleCustomAdapterDialog();break;case R.id.dialog_btn6:simpleCustomViewDialog();break;case R.id.dialog_btn7:Intent intent = new Intent();intent.setClass(SecondActivity.this, ThirdActivity.class);startActivity(intent);break;default:break;}}String items[] = {"三国演义","西游记","水浒传","红楼梦"};//实现自定义列表对话框private void simpleCustomAdapterDialog(){AlertDialog.Builder builder = new Builder(SecondActivity.this);builder.setIcon(R.drawable.d_shayan);builder.setTitle("自定义对话框");builder.setAdapter(new ArrayAdapter<String>(SecondActivity.this, android.R.layout.select_dialog_item,items), new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(SecondActivity.this, "您点击了"+ items[which], 0).show();}});builder.create().show();}//自定义布局的对话框private void simpleCustomViewDialog(){//获取自定义的view视图View view = getLayoutInflater().inflate(R.layout.login_layout, null);AlertDialog.Builder builder = new Builder(SecondActivity.this);builder.setIcon(R.drawable.d_shengbing);builder.setTitle("自定义布局对话框"); //设置视图builder.setView(view);builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//登录的逻辑}});builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(SecondActivity.this, "您点击了取消按钮", 0).show();}});builder.create().show();}}
0 0
- Android开发之对话框
- Android开发学习之对话框
- android开发之自定义对话框
- Android开发之自定义对话框
- Android-UI开发之对话框
- Android开发之UI设置之对话框
- Android开发对话框之单选对话框的…
- Android SDK 开发之创建对话框
- Android开发之Dialog对话框集合
- Android开发之列表对话框的使用
- Android开发之对话框高级应用
- Android开发基础之Dialog对话框大全
- android开发步步为营之2:开发自定义进度条对话框
- android开发步步为营之25:开发自定义进度条对话框
- Android开发之对话框事件之点击手…
- android开发-对话框
- Android开发:进度条对话框
- Android软件开发之集合所有Dialog对话框
- 2013百度校园招聘数据挖掘工程师
- 2015北京网络赛题目: Fractal(打表+二分模拟)
- Spark作业执行流程
- 《剑指Offer》面试题:实现O(1)获取min的栈
- spring,hibernate处理Lob类型数据
- Android开发之对话框
- Linux / UNIX: Find out or determine if process pid is running
- SQL Developer 警告--无法安装某些模块
- poj1753
- 关于Android基本动画的应用
- C++:数据类型
- 第七章,类和对象
- 第三周项目1、项目2: 顺序表的基本运算、建立“顺序表”算法库
- c#实现简单计算器