必威体育Betway必威体育官网
当前位置:首页 > IT技术

哪些年遇到过的Andriod问题(4)对话框 dialog

时间:2019-06-11 23:45:15来源:IT技术作者:seo实验室小编阅读:59次「手机版」
 

setpositivebutton

对话框一共有三个按键:

setPositiveButton确认;setNegativeButton取消;setNeutralButton一般

中间的询问内容可以是setMessage也可以是控件(setView/ setMultiChoiceItems/ setItems),还可以是自定义的一个布局。

测试过可以直接使用,但是在Eclipse中提示代码有问题,那就是你的引用问题,如:DialogInterface.OnClickListener()

//创建对话框方法dialog()
	  protected void dialog() {
	    AlertDialog.Builder builder = new Builder(Main.this);
	    builder.setMessage("确认退出吗?");
	    builder.setTitle("提示");
	    builder.setPositiveButton("确认", new OnClickListener() {
	     @Override
	     public void onClick(DialogInterface dialog, int which) {
	      dialog.dismiss();
	      Main.this.finish();
	     }
	    });
	    builder.setNegativeButton("取消", new OnClickListener() {
	     @Override
	     public void onClick(DialogInterface dialog, int which) {
	      dialog.dismiss();
	     }
	    });
	    builder.create().show();
	   }
	   
	  //在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法
	  public boolean onKeyDown(int keyCode, KeyEvent event) {
	    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
	     dialog();
	    }
	    return false;}

//改变了对话框的图表,添加了三个按钮
	Dialog dialog = new AlertDialog.Builder(this).setIcon(
	     android.R.drawable.btn_star).setTitle("喜好调查").setMessage(
	     "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",
	     new OnClickListener() {
	      @Override
	      public void onClick(DialogInterface dialog, int which) {
	       // TODO Auto-generated method stub
	       Toast.makeText(Main.this, "我很喜欢他的电影。",
	         Toast.LENGTH_LONG).show();
	      }
	     }).setNegativeButton("不喜欢", new OnClickListener() {
	    @Override
	    public void onClick(DialogInterface dialog, int which) {
	     // TODO Auto-generated method stub
	     Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)
	       .show();
	    }
	   }).setNeutralButton("一般", new OnClickListener() {
	    @Override
	    public void onClick(DialogInterface dialog, int which) {
	     // TODO Auto-generated method stub
	     Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)
	       .show();
	    }
	   }).create();dialog.show();
//信息内容是一个简单的View类型
	new AlertDialog.Builder(this).setTitle("请输入").setIcon(
	     android.R.drawable.ic_dialog_info).setView(
	     new EditText(this)).setPositiveButton("确定", null).setNegativeButton("取消", null).show();

new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(
		     new String[] { "Item1", "Item2" }, null, null)
		     .setPositiveButton("确定", null).setNegativeButton("取消", null).show();

//信息内容是一组多选框
	new AlertDialog.Builder(this).setTitle("单选框").setIcon(
	     android.R.drawable.ic_dialog_info).setSingleChoiceItems(
	     new String[] { "Item1", "Item2" }, 0,
	     new DialogInterface.OnClickListener() {
	      public void onClick(DialogInterface dialog, int which) {
	       dialog.dismiss();
	      } }).setNegativeButton("取消", null).show();

new AlertDialog.Builder(this).setTitle("列表框").setItems(
		     new String[] { "Item1", "Item2" }, null).setNegativeButton("确定", null).show();
//信息内容是一个自定义的布局
	//1.布局文件
	<?xml version="1.0" encoding="utf-8"?>
	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	 android:layout_height="wrap_content" android:layout_width="wrap_content"
	 android:background="#ffffffff" android:orientation="horizontal"
	 android:id="@+id/dialog">
	 <TextView android:layout_height="wrap_content"
	   android:layout_width="wrap_content"
	  android:id="@+id/tvname" android:text="姓名:" />
	 <EditText android:layout_height="wrap_content"
	  android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
	</LinearLayout>
	//2.调用代码
	LayoutInflater inflater = getLayoutInflater();
	   View layout = inflater.inflate(R.layout.dialog,
	     (ViewGroup) findViewById(R.id.dialog));
	   new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
	     .setPositiveButton("确定", null).setNegativeButton("取消", null).show();

图8 以上几种对话框有点难了吧(初学者),这是种简单的提示框(为什么简单?因为代码和打开一般的界面一样)

//1. 为什么简单?因为代码和打开一般的界面一样
		bOpenCD = (Button) findViewById(R.id.maOpenCD);
		bOpenCD.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				Intent myIntent = new Intent();
				myIntent.setClass(MainActivity.this, CustomDialog.class);
				MainActivity.this.startActivity(myIntent);
			}
		});
	//2.修改manifest文件
        <activity
            android:name=".CustomDialog"
            android:label="@string/CDlable" 
            android:theme = "@android:style/Theme.Dialog"><!-- @style/Transparent -->
        </activity>

图9透明提示窗体

摘于http://blog.csdn.net/sodino/article/details/5822147

//1.先在res/values下建colors.xml文件,写入
<resources>
    <color name="transparent">#9000</color>
</resources>
//这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。

//2.再在res/values/下建styles.xml,设置程序的风格
<resources>
    <style name="Transparent">
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
    </style>
</resources>
//3.最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任 意<activity>标签中添加
<activity
            android:name=".CustomDialog"
            android:label="@string/CDlable" 
            android:theme = "@style/Transparent"><!--  @android:style/Theme.Dialog-->
        </activity>

相关阅读

酒鬼问题

【fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处】 前言   今天看到网上热搜都在讨论这个酒鬼问题,大家的答案分

小学六年级奥数竞赛题:牛吃草问题

小学六年级奥数竞赛题知识点牛吃草问题在小学这类问题常用到四个基本公式,分别是:(1)草的生长速度=(对应的牛头数×吃的较多天数-相应的

硕士毕业论文研究方法都有哪些,很多你想不到!

硕士论文是硕士研究生所撰写的研究性论文,也叫叫研究生毕业论文。那么既然是研究性论文,研究方法肯定是其中一个重要部

中高级PHP程序员应该掌握哪些技术?

本文出处:http://www.jb51.net/article/93317.htm本文把php程序员划分为中、高级程序员两大类程序员,并针对这两大程序员应具备的技

中国互联网有哪些黑色产业链?

导读:qq目前用户已达8亿,几乎每个人的所有熟人关系都在qq上进行绑定,正因为此,qq的账号安全成为了很多人关注的话题,腾讯公司也一直在

分享到:

栏目导航

推荐阅读

热门阅读