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
原创粉丝点击