在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → android 自定义对话框

android 自定义对话框

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:0.07M
  • 下载次数:15
  • 浏览次数:201
  • 发布时间:2016-08-05
  • 实例类别:Android平台开发
  • 发 布 人:china_牛人
  • 文件格式:.rar
  • 所需积分:1
 相关标签: 对话框

实例介绍

【实例简介】

【实例截图】



【核心代码】

package net.android.dialog;

import java.util.Timer;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class DiaLogN extends Activity {

	private Button btn_dialog1;
	private Button btn_custom;
	private Button btn_custom2;
	private TextView show;


	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		btn_dialog1 = (Button) findViewById(R.id.btn_dialog1);
		btn_dialog1.setOnClickListener(new btn_dialo1onClick());

		btn_custom = (Button) findViewById(R.id.btn_custom);
		btn_custom.setOnClickListener(new btn_customClick());

		btn_custom2 = (Button) findViewById(R.id.btn_custom2);
		btn_custom2.setOnClickListener(new btn_custom2Click());
		show = (TextView) findViewById(R.id.show);
	}

	class btn_custom2Click implements OnClickListener {

		@Override
		public void onClick(View v) {
			Context context=DiaLogN.this;
			CustomDialog2 cd = new CustomDialog2(context);   
			cd.show();   
		}
	}


	class CustomDialog2 extends Dialog {
		public CustomDialog2(Context context) {
			super(context);
		}

		protected void onCreate(Bundle savedInstanceState){
			super.onCreate(savedInstanceState);

			setContentView(R.layout.custom_dialog);
			setTitle("选择播放列表");

			TextView text = (TextView)findViewById(R.id.text);
			text.setText("这是自定义的对话框!");
			ImageView image = (ImageView)findViewById(R.id.image);
			image.setImageResource(R.drawable.music_ico);

			Button buttonYes = (Button) findViewById(R.id.button_yes);
			buttonYes.setHeight(5);
			buttonYes.setOnClickListener(new Button.OnClickListener(){

				public void onClick(View v) {
					show.setText("单击YES");
					dismiss();
				}
			});
			Button buttonNo = (Button) findViewById(R.id.button_no);
			buttonNo.setSingleLine(true);
			buttonNo.setOnClickListener(new Button.OnClickListener(){

				public void onClick(View v) {
					show.setText("单击NO");
					dismiss();
				}
			});
		}

		//called when this dialog is dismissed
		protected void onStop() {
			Log.d("TAG","                           ");
		}
	}

	/**
	 * 模式对话框
	 * @author dll
	 *
	 */
	class btn_dialo1onClick implements OnClickListener {

		@Override
		public void onClick(View v) {
			show.setText("click me!");
			AlertDialog.Builder ad=new AlertDialog.Builder(DiaLogN.this);
			/*
    		setTitle():给对话框设置title.
    		setIcon():给对话框设置图标。
    		setMessage():设置对话框的提示信息
    		setItems():设置对话框要显示的一个list,一般用于要显示几个命令时
    		setSingleChoiceItems():设置对话框显示一个单选的List
    		setMultiChoiceItems():用来设置对话框显示一系列的复选框。
    		setPositiveButton():给对话框添加”Yes”按钮。
    		setNegativeButton():给对话框添加”No”按钮。
    		show():显示对话框,一般放最后
			 */

			ad.setTitle("选项");//设置对话框标题
			//ad.setMessage("操作");//设置对话框内容
			ad.setPositiveButton("确认", new DialogInterface.OnClickListener() {

				@Override
				public void onClick(DialogInterface dialog, int i) {

				}
			});
			ad.setNegativeButton("官方网站",new DialogInterface.OnClickListener() {
				//显示官方网站按钮,点击打开浏览器,转向www.pocketdigi.com
				@Override
				public void onClick(DialogInterface dialog, int i) {
					Uri uri=Uri.parse("http://www.pocketdigi.com");
					Intent intent=new Intent(Intent.ACTION_VIEW,uri);
					startActivity(intent);
				}
			});

			ad.setItems(new String[]{"播放","从列表中移除"},new itemListonClick());
			ad.show();//显示对话框
		}
	}

	class itemListonClick implements  android.content.DialogInterface.OnClickListener {
		@Override
		public void onClick(DialogInterface dialog, int which) {
			switch(which){
			case 0:
				show.setText("播放");
				break;
			case 1:
				show.setText("从播放列表移除");
				break;
			}
		}
	}

	/**
	 * 自定义对话框
	 * @author dll
	 *
	 */
	class btn_customClick implements OnClickListener {

		@Override
		public void onClick(View v) {
			show.setText("click me! 自定义对话框");

			@SuppressWarnings("unused")
			int m_count = 0;   
			//声明进度条对话框   
			final ProgressDialog m_pDialog; 
			//创建ProgressDialog对象   
			m_pDialog = new ProgressDialog(DiaLogN.this);   

			// 设置进度条风格,风格为圆形,旋转的   
			m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);   

			// 设置ProgressDialog 标题   
			//  m_pDialog.setTitle("提示");   

			// 设置ProgressDialog 提示信息   
			m_pDialog.setMessage("正在处理中...");   

			// 设置ProgressDialog 标题图标   
			//  m_pDialog.setIcon(R.drawable.img1);   

			// 设置ProgressDialog 的进度条是否不明确   
			m_pDialog.setIndeterminate(false);   

			// 设置ProgressDialog 是否可以按退回按键取消   
			m_pDialog.setCancelable(true);   
			m_pDialog.setOnCancelListener(new OnCancelListener() {

				@Override
				public void onCancel(DialogInterface dialog) {
					System.out.println("-->onCancel");
				}
			});

			// 设置ProgressDialog 的一个Button   
			/*
            m_pDialog.setButton("确定", new DialogInterface.OnClickListener() {   
                public void onClick(DialogInterface dialog, int i)   
                {   
                    //点击“确定按钮”取消对话框   

                }   
            });   
			 */

			m_pDialog.show();  
			Timer timer = new Timer();
			class MyTask extends java.util.TimerTask{ 
				int num=0;
				public void run() {
					num  ;
					System.out.println("  己花费   " num " S");
					if(num>=4)
					{
						m_pDialog.cancel(); 
					}
				}
			}
			timer.schedule(new MyTask(), 1, 1000); //在1毫秒后执行此任务,每次间隔1秒
		}
	}
}

标签: 对话框

实例下载地址

android 自定义对话框

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警