常用对话框
来源:互联网 发布:java程序猿年终总结 编辑:程序博客网 时间:2024/05/29 20:05
1.菜单键
这个比较特殊,在menu下定义一个xml,menu节点
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.optionmenudemo.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="设置"/> <item android:id="@+id/action_option" android:orderInCategory="100" android:showAsAction="never" android:title="选项"/> <item android:id="@+id/action_exit" android:orderInCategory="100" android:showAsAction="never" android:title="退出"/></menu>
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.mymenu ,menu);return true;/*//注意第二个参数,必须设置ID,否则itemSelect里的ID统一分配0,无法区分menu.add(0,0,0,"Wallpaper");menu.add(0,1,0,"ManageApp");menu.add(0,2,0,"System Setting");return true;*/}@Overridepublic boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id==R.id.action_settings) {Toast.makeText(this, "即将去设置", 1).show();}else if (id==R.id.action_option) {Toast.makeText(this, "即将去option选单", 1).show();}else if (id==R.id.action_exit) {Toast.makeText(this, "即将退出", 1).show();}System.out.println("MainActivity.onOptionsItemSelected()"+id);return super.onOptionsItemSelected(item);/*if (id==0) {Toast.makeText(this, "即将去设置墙纸", 1).show();}else if (id==1) {Toast.makeText(this, "即将去ManageApp", 1).show();}else if (id==2) {Toast.makeText(this, "即将去System Setting", 1).show();}*/}}
2.普通确定、取消框
用了链式写法,注销掉的也可以,另外builder本身就是dialog的子类
public void showDialog1(View v){/*//属于alertDialog类,参数为contextBuilder builder = new Builder(this); builder.setTitle("Android学习"); builder.setMessage("是否浏览百度"); //第二个参数是一个listener,暂时先置空 builder.setPositiveButton("确认", new OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {Intent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);Uri uri = Uri.parse("http://www.baidu.com/");intent.setData(uri);Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.baidu.com/"));startActivity(intent);}}); builder.setNegativeButton("取消", null); //show出来用户才能看到 builder.show();*/ /* Builder builder = new Builder(this) ; builder.setTitle("Android学习"); builder.setMessage("是否浏览baidu?"); builder.setPositiveButton("确认", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubIntent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);Uri uri =Uri.parse("http://www.baidu.com/");intent.setData(uri);//定义的intent里面么有规定typestartActivity(intent);} }); builder.setNegativeButton("取消", null); Dialog dialog = builder.create(); dialog.show(); */new Builder(this) .setTitle("Android学习") .setMessage("是否浏览百度?") .setPositiveButton("确认", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubIntent intent = new Intent();intent.setAction(Intent.ACTION_VIEW);Uri uri =Uri.parse("http://www.baidu.com/");intent.setData(uri);//定义的intent里面么有规定typestartActivity(intent);} }) .setNegativeButton("取消", null) .show(); }
3. 列表选择框
public void showDialog2(View v){final String[] items = {"c","java" ,"c++"};new Builder(this).setTitle("请选择学习的内容").setItems(items, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubSystem.out.println("MainActivity.showDialog2(...).new OnClickListener() {...}.onClick()"+which);String choice = items[which];Toast.makeText(MainActivity.this, choice, 1).show();}}).show();}
4.列表单选框
public void showDialog3(View v){final String[] items = {"c","java" ,"c++"};new Builder(this).setTitle("请选择学习的内容")//第二个参数表示默认选的哪个,-1表示一个都不选.setSingleChoiceItems(items, -1, new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.cancel();Toast.makeText(MainActivity.this, items[which], 1).show();}}).show();}
5.列表多选框
public void showDialog4(View v){ final String[] items = {"c","java" ,"c++"}; new Builder(this).setTitle("请选择学习的内容")//第二个参数表示哪些默认被选上 .setMultiChoiceItems(items, new boolean[]{true,false,true}, new OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {// TODO Auto-generated method stubif (isChecked) {Toast.makeText(MainActivity.this, items[which], 1).show();}}})//多选需要确定.setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {//选完主动关闭dialog.cancel();}}).show();}
6.等待提示框
public void showDialog5(View v){//第一个参数表示在哪写 final ProgressDialog dialog =ProgressDialog.show(this, "警告", "我们正在升级系统,并不要乱按按钮。耐心等待"); //起一个线程,一段时间后自动退出 new Thread(new Runnable() {@Overridepublic void run() {//方法1,系统的睡眠/*try {Thread.sleep(2000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}*///方法2,dialog带的睡眠取消SystemClock.sleep(2000); dialog.cancel();} }).start(); }
7.等待+进度提示
public void showDialog6(View v){//不能和等待提示框那样直接show文字,需要逐项设置 final ProgressDialog dialog =new ProgressDialog(this); dialog.setTitle("提示"); dialog.setMessage("我们正在下载,请耐心等待"); //告诉系统这是一个进度条 dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //进度条长度 dialog.setMax(100); dialog.show(); //之前的进度条不会动,另起线程让他走起来 new Thread(new Runnable() {@Overridepublic void run() {int i = 0;while(true){//ProgressBar 这种控件是可以在子线程里更新UI的dialog.setProgress(i++);SystemClock.sleep(100); if (i>100) {break;}}dialog.cancel();} }).start();}
0 0
- 常用对话框、自定义对话框
- 常用对话框:消息对话框
- 常用对话框:文件对话框
- 常用对话框:字体对话框
- 常用对话框:颜色对话框
- 常用对话框
- 常用对话框
- 常用对话框
- 常用对话框
- MFC-对话框常用函数
- C# 常用对话框有
- 对话框和常用控件
- SWT常用系统对话框
- Symbian常用对话框
- 对话框和常用控件
- 对话框常用方法
- C#常用对话框
- 对话框及常用控件
- swift2 泛型
- 微信开发:微信服务器验证通过
- The Cat in the Hat
- 汇编学习笔记
- nyoj 17 单调递增最长子序列
- 常用对话框
- 动态链接库设计
- vim替换命令
- 求2014^X 因子和
- 使用wsimport生成ws服务端
- Sqrt(x)
- 达内培训,安卓4G课程,第一天笔记(手抄版)
- getParameter()和getAttribute()的区别
- HDU 4355 Party All the Time(三分法搜索)