快速弹窗工具类
来源:互联网 发布:李开元 知乎 编辑:程序博客网 时间:2024/06/10 08:38
快速弹窗工具类
实现快速弹窗的封装工具;
支持设置标题和提示内容;
带有确认和取消;
- PopupWindowAlert.java
- pop_layout_dialog.xml
- 使用方法
- 示例效果
PopupWindowAlert.java
package com.nr917.demo;import android.content.Context;import android.support.v7.app.AlertDialog;import android.text.TextUtils;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.TextView;/** * Desc 通用弹出对话框 */public class PopupWindowAlert { private Context context; private View layout; public static final int OK = 1; public static final int CANCEL = 0; private TextView tv_dialog_title, tv_pop_content; private Button btn_no, btn_yes; private double lat; private double lng; private OnItemListener mOnItemListener; private AlertDialog pop; private String textYes, textNo; public PopupWindowAlert(Context context, View layout, String textYes, String textNo, OnItemListener mOnItemListener) { this.context = context; this.layout = layout; this.textYes = textYes; this.textNo = textNo; this.mOnItemListener = mOnItemListener; initViews(); } public PopupWindowAlert(Context context, View layout, OnItemListener mOnItemListener) { this.context = context; this.layout = layout; this.mOnItemListener = mOnItemListener; initViews(); } public interface OnItemListener { void result(int platform); } /** * 设置POPwindow值 * @param title * 对话框标题 * @param content * 对话框内容 */ public void setItemData(String title,String content) { tv_dialog_title.setText(title); tv_pop_content.setText(content); } private void initViews() { View view = LayoutInflater.from(context).inflate(R.layout.pop_layout_dialog, null); btn_no = (Button) view.findViewById(R.id.btn_no); btn_yes = (Button) view.findViewById(R.id.btn_yes); tv_dialog_title = (TextView) view.findViewById(R.id.tv_dialog_title); tv_pop_content = (TextView) view.findViewById(R.id.tv_pop_content); if (!TextUtils.isEmpty(textYes)) { btn_yes.setText(textYes); } if (!TextUtils.isEmpty(textNo)) { btn_no.setText(textNo); } btn_no.setOnClickListener(listener); btn_yes.setOnClickListener(listener); AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setView(view); pop = builder.create(); pop.show(); } private void closePop() { if (pop != null) { pop.dismiss(); } } private View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { closePop(); switch (v.getId()) { case R.id.btn_no: mOnItemListener.result(CANCEL); break; case R.id.btn_yes: mOnItemListener.result(OK); break; } } };}
pop_layout_dialog.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" android:orientation="vertical"> <TextView android:id="@+id/tv_dialog_title" android:layout_width="match_parent" android:layout_height="45dp" android:gravity="center" android:text="提示标题" android:textSize="18sp" android:textColor="#2776d6" /> <TextView android:id="@+id/tv_pop_content" android:layout_width="match_parent" android:layout_height="60dp" android:gravity="center" android:text="提示内容-确定要退出吗?" android:textColor="#454545" /> <LinearLayout android:layout_width="match_parent" android:layout_height="45dp" android:orientation="horizontal"> <Button android:id="@+id/btn_no" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#ffffff" android:textColor="#2776d6" android:textSize="18sp" android:text="取消"/> <Button android:id="@+id/btn_yes" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:background="#ffffff" android:textColor="#2776d6" android:textSize="18sp" android:text="确定"/> </LinearLayout></LinearLayout>
使用方法
private PopupWindowAlert mDialog;/** * 退出 * @param view */ public void onExit(View view) { mDialog = new PopupWindowAlert(this, findViewById(R.id.activity_main), new PopupWindowAlert.OnItemListener() { @Override public void result(int platform) { if (platform == 1) { finish(); } } }); mDialog.setItemData("确认退出?", "退出后无法收到消息哦"); }
示例效果
0 0
- 快速弹窗工具类
- Android快速开发工具类
- 工具类:Base64快速加密
- 工具类:md5快速加密
- Android快速Toast工具类
- java工具类快速定位
- 快速开发之网络判断工具类
- SharedPreferences的快速保存获取工具类
- 安卓快速解析xml工具类
- 快速实现单例的工具类
- 工具类:快速创建单例
- 快速转json的工具类
- 各种工具类。让程序员快速开发
- Android快速开发工具类之DownloadManagerPro
- Android 快速开发SharedPrefs工具类
- 函数表达式快速计算工具类
- Mantis工具快速部署
- VB快速文件传输工具
- 赛维安讯LiveCloud直播云服务介绍
- 怎样正确删除nt6_hdd_installer硬盘安装启动器?
- Spark RDD、DataFrame和DataSet的区别
- dataTable、dataset转换成Json格式
- 工作中遇到的一些javaScript细节(一)
- 快速弹窗工具类
- rapidJson::Document doc
- 选择器本没有什么优先级可言! 只不过叫着叫着就有了而已——关于韩顺平老师将div+css部分选择器的优先级
- linux 下 apache启动、停止、重启命令
- Quartz的简单使用和与Spring的整合
- maven创建scala项目:spark-streaming项目使用
- Array
- Java分布式应用技术架构介绍
- php 使用 ticks declare 进行 耗时记录