Android 采用工厂类创建对话框

代码复用很重要!对话框除了内容不同外,显示样式相同,我们就要建立一个工厂类。

public class DialogFactory {

	public static Dialog creatRequestDialog(final Context context, String tip) {

		final Dialog dialog = new Dialog(context, R.style.dialog);
		dialog.setContentView(R.layout.dialog_layout);
		Window window = dialog.getWindow();
		WindowManager.LayoutParams lp = window.getAttributes();
		int width = Utils.getScreenWidth(context);
		lp.width = (int) (0.6 * width);

		TextView titleTxtv = (TextView) dialog.findViewById(R.id.tvLoad);
		if (tip == null || tip.length() == 0) {
			titleTxtv.setText("正在发送请求");
		} else {
			titleTxtv.setText(tip);
		}

		return dialog;
	}
}

调用方法:

private Dialog mDialog = null;
    private void showRequestDialog() {
	if (mDialog != null) {
	    mDialog.dismiss();
	    mDialog = null;
	}
	mDialog = DialogFactory.creatRequestDialog(this, "正在验证账号...");
	mDialog.show();
    }

values文件夹中style.xml

  <style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsFloating">true</item>
        <!-- 设置未浮动窗口 -->
        <item name="android:windowFrame">@null</item>
        <!-- 设置无边框 -->
        <item name="android:windowNoTitle">true</item>
        <!-- 设置无标题 -->
        <item name="android:windowBackground">@color/sc_transparent_background</item>
        <!-- 设置完全透明 -->
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 设置屏幕变暗 -->
    </style>
时间: 2025-01-02 14:23:16

Android 采用工厂类创建对话框的相关文章

转帖:Android 官方推荐 : DialogFragment 创建对话框

转: Android 官方推荐 : DialogFragment 创建对话框 复制内容,留作备份 1. 概述 DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等.在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog.注:官方不推荐直接使用Dialog创建对话框. 2. 好处与用法 使用DialogFragment

Android 官方推荐 : DialogFragment 创建对话框

1. 概述 DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等.在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog.注:官方不推荐直接使用Dialog创建对话框. 2. 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的

使用工厂类创建线程

工厂模式是我们常用的模式之一.它是一个创建者模式,使用一个类为其他的或者多个类创建对象.当我们要为这些类创建对象时,不需要在使用new构造器. 使用工厂类,可以将对象的创建集中化. 下面这个例子,我们使用ThreadFactory接口来创建对象,用来生成个性化名称的线程并且保存这些线程对象的统计信息. 1.创建名为MyThreadFactory的类,并且实现ThreadFactory接口. public  class MyThreadFactory implements ThreadFactor

使用AlertDialog.Builder类创建对话框

常用的方法:setTitle :为对话框设置标题setIcon :为对话框设置图标setMessage:为对话框设置内容setView : 给对话框设置自定义样式setItems :设置对话框要显示的一个list,一般用于显示几个命令时setMultiChoiceItems :用来设置对话框显示一系列的复选框setNeutralButton :普通按钮setPositiveButton :给对话框添加"Yes"按钮setNegativeButton :对话框添加"No&quo

通过c++类创建对话框

本文由 书画小说软件 整理发布 内容与本软件无关 更惬意的读.更舒心的写.更轻松的发布 对话框直接添加类,类向导添加时出现了问题. 因此便想通过添加C++类的方式间接实现添加对话框类. 第一步:添加C++类 #pragma once class CWordCountDlg { public:     CWordCountDlg(void);     ~CWordCountDlg(void); }; #include "StdAfx.h" #include "WordCount

【Android】11.5 创建和管理Fragments

分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 想要管理activity中的fragment,可以用FragmentManager类来实现.通过在activity中调用GetFragmentManager()可获得该类的实例. 使用FragmentManager可以做的事情有: l 使用FindFragmentById()(用于在activity布局中提供有界面的fragment)或者FindFragmentByTag()获取activity中存在的frag

重构19-Extract&#160;Factory&#160;Class(提取工厂类)

在代码中,通常需要一些复杂的对象创建工作,以使这些对象达到一种可以使用的状态.通常情况下,这种创建不过是新建对象实例,并以我们需要的方式进行工作.但是,有时候这种创建对象的需求会极具增长,并且混淆了创建对象的原始代码.这时,工厂类就派上用场了.关于工厂模式更全面的描述可以参考这里.最复杂的工厂模式是使用抽象工厂创建对象族.而我们只是使用最基本的方式,用一个工厂类创建一个特殊类的实例.来看下面的代码: public class PoliceCarController { public Police

用CToolBarCtrl类为对话框创建工具栏

---恢复内容开始--- 首先CToolBarCtrl类内部维护了三个重要的数据结构:一个图像列表,一个字符串列表,一个TBBUTTON结构体的列表. 知道了这一点,下面的理解起来就轻松了.慢慢来: 用CToolBarCtrl类为对话框创建工具栏的一般步骤: 1.准备一张工具栏的位图(有两种方法加载位图,一种是为工具栏中每一个按钮关联一张位图,第二种是加载一整张位图,这张位图中有所有工具栏按钮的图像,然后设定每个按钮图像的大小,这样系统就可以把一整张位图按像素分成多张位图,本文采用第二种方法)

无废话Android之listview入门,自定义的数据适配器、采用layoutInflater打气筒创建一个view对象、常用数据适配器ArrayAdapter、SimpleAdapter、使用ContentProvider(内容提供者)共享数据、短信的备份、插入一条记录到系统短信应用(3)

1.listview入门,自定义的数据适配器 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&