Dialog对话框管理工具类
- import android.app.Dialog;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.DialogInterface.OnKeyListener;
- import android.view.Gravity;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.TextView;
- /**
- * Dialog显示的工具类
- *
- * @author wangfubin
- *
- */
- public class PromptManager {
- /**
- * 显示一个自定义的Dialog
- *
- * @param context
- * @param mag
- * 想要显示的信息
- * @param listener
- * 回调接口
- */
- public static void showDialog(Context context, String mag,
- final dialogListener listener) {
- final Dialog d = getDialog(context, 0.5f);
- TextView tv = (TextView) d.findViewById(R.id.textView1);
- tv.setText(mag);
- d.setCanceledOnTouchOutside(true);
- Button ok = (Button) d.findViewById(R.id.button1);
- Button no = (Button) d.findViewById(R.id.button2);
- ok.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- listener.clickBut(true);
- d.dismiss();
- }
- });
- no.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- listener.clickBut(false);
- d.dismiss();
- }
- });
- d.show();
- }
- /**
- * 获取显示Dialog的实例对象!
- *
- * @param context
- * @param f
- * 透明度
- * @return
- */
- private static Dialog getDialog(Context context, float f) {
- final Dialog d = new Dialog(context, R.style.init_game);
- Window window = d.getWindow();
- WindowManager.LayoutParams lp = window.getAttributes();
- lp.dimAmount = f;// 越大越不透明
- window.setAttributes(lp);
- window.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
- window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- d.setContentView(R.layout.pop_twobtn);
- return d;
- }
- /**
- * 按功能键,模拟出来Menu进行显示!
- *
- * @param context
- * @param mag
- * 要显示的信息!
- * @param listener
- * 回调接口
- */
- public static void showMenu(Context context, String mag,
- final dialogListener listener) {
- final Dialog d = getDialog(context, 0.5f);
- TextView tv = (TextView) d.findViewById(R.id.textView1);
- tv.setText(mag);
- Window window = d.getWindow();
- window.setGravity(Gravity.BOTTOM);
- Button ok = (Button) d.findViewById(R.id.button1);
- Button no = (Button) d.findViewById(R.id.button2);
- d.setCanceledOnTouchOutside(true);// 设置点击外部可以取消这个Dialog
- d.setOnKeyListener(new OnKeyListener() {
- @Override
- public boolean onKey(DialogInterface dialog, int keyCode,
- KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_MENU) {
- d.dismiss();
- }
- return false;
- }
- });
- ok.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- listener.clickBut(true);
- d.dismiss();
- }
- });
- no.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- /**
- * 在按功能键弹出的Dialog上点击取消,其实是什么事情都没做(没写代码) 在baseActivity中,可以看看理解下!
- */
- listener.clickBut(false);
- d.dismiss();
- }
- });
- d.show();
- }
- /**
- * 写一个接口,进行函数的回调,让调用者确定究竟做什么!
- *
- * @author liuzhao
- */
- public interface dialogListener {
- void clickBut(boolean isOk);
- }
- }
Dialog对话框管理工具类的更多相关文章
- android的Log日志打印管理工具类(一)
android的Log日志的打印管理工具类: package com.gzcivil.utils; import android.util.Log; /** * 日志打印管理 * * @author ...
- Android 软件管理工具类Utils
Android 软件管理工具类Utils /** * Created by uilubo on 2015/9/30. * 工具类 */ public class Utils { public stat ...
- 阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑
事务管理工具类 首先需要有connection.并且是当前线程上的connection.声明connectionUtils.提供set方法等着spring来注入 有异常需要放在事务里面 close关闭 ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- Fragment管理工具类
Fragment相关→FragmentUtils.java→Demo addFragment : 新增fragment removeFragment : 移除fragment replaceFragm ...
- android 对话框显示工具类
这个工具类非常简单,但是将显示dialog的方法统一封装,能够大大减少代码重复 package com.ctbri.weather.utils; import android.app.AlertDia ...
- 可以获取JVM信息的一些管理工具类
一些可以获取JVM信息的java工具类 BufferPoolMXBean.class ClassLoadingMXBean.class CompilationMXBean.class GarbageC ...
- 【Android工具类】Activity管理工具类AppManager
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 import java.util.Stack; import android.app.Activity; i ...
- 【笔记】cookies管理工具类
package com.ulearning.ulms.util; import java.io.UnsupportedEncodingException; import java.net.URLDec ...
随机推荐
- Voting
Voting time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- Arpa's loud Owf and Mehrdad's evil plan
Arpa's loud Owf and Mehrdad's evil plan time limit per test 1 second memory limit per test 256 megab ...
- python 基础学习4-with语句
why use With? 有些事情需要事先进行设置,事后进行处理,with语句提供了一个很好的处理方式,例如文件读写处理,有时候可能忘记关闭文件,with可以很好地处理这种现象. with语句用来简 ...
- C#读取Excel的其中一种方式OleDb读取(100万条)--快速大量插入SQL中
主要运用表类型 Create table BulkTestTable( Id nvarchar(), UserName nvarchar(), Pwd nvarchar() ) Go CREATE T ...
- 显示ubuntu 10.4右上角网络图标
在面板右击“添加到面板”,选择“通知区域”
- Hibernate5--课程笔记1
Hibernate简介: Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hib ...
- 8VC Venture Cup 2017 - Elimination Round
传送门:http://codeforces.com/contest/755 A题题意是给你一个数字n,让你找到一个数字m,使得n*m+1为合数,范围比较小,直接线性筛出1e6的质数,然后暴力枚举一下就 ...
- Javascript获取不重复的随机数值
/** * 获取不重复随机数 * @param integer start 随机数最小值 * @param integer end 随机数最大值 * @param integer size 随机数获取 ...
- 计算机网络课程优秀备考PPT之第四章介质访问控制层(四)
为了记录自己从2016.9~2017.1的<计算机网络>助教生涯,也为了及时梳理和整写笔记! 前期博客是, 计算机网络课程优秀备考PPT之第一章概述(一) 计算机网络课程优秀备考PPT之第 ...
- 《JS权威指南学习总结--9.2 类和构造函数》
内容要点: 例9-1展示了在JS中定义类的其中一种方法.但这种方法并不常用,毕竟它没有定义构造函数,构造函数是用来初始化新创建的对象的. 使用关键字new来调用构造函数会自动创建一个新对象,因此构造函 ...