Android 适应任何自定义样式 提示弹出框 Dialog 封装

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Android 适应任何样式提示弹出框Dialog 封装

在Android开发中,难免有各种各样的提示框,如加载数据等待框,删除确认框、输入密码提示框等等,这些是完全可以自定义的,这里给出一个框架以及一个示例,帮助你开发任何样式布局的提示框,废话不多说,直接贴代码:

HintDialog.java

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.Context;

import android.view.KeyEvent;

import android.view.Window;

public class HintDialog

{

Dialog mDialog = null;

private Context mContext = null;

private IHintDialog mIDialogInstance = null;

/**

* 构造函数

* @param context

*/

public HintDialog(Context context)

{

mContext = context;

mDialog = new AlertDialog(mContext)

{

@Override

public boolean onKeyDown(int keyCode, KeyEvent event)

{

if (keyCode == KeyEvent.KEYCODE_BACK &&

mIDialogInstance != null)

{

mIDialogInstance.onKeyDown(keyCode, event);

return true;

}

return super.onKeyDown(keyCode, event);

}

};

mDialog.setCancelable(false);

mDialog.setCanceledOnTouchOutside(false);

}

/**

*

* @param iLayoutResId 此DIALOG采用的布局文件

* @param interfaceInstance 此DIALOG需要实现的一些接口事件 */

public void showDialog(int iLayoutResId, IHintDialog interfaceInstance)

{

if (mDialog == null || iLayoutResId == 0)

{

return;

}

mIDialogInstance = interfaceInstance;

mDialog.show();

mDialog.setContentView(iLayoutResId);

Window window = mDialog.getWindow();

if (mIDialogInstance != null)

{

mIDialogInstance.showWindowDetail(window);

}

}

/**

* 使dialog消失

*/

public void dismissDialog()

{

if (mDialog != null && mDialog.isShowing())

{

mDialog.dismiss();

}

}

/**

* 确定Dialog是否正在显示

* @return

public boolean isShowing()

{

if (mDialog != null && mDialog.isShowing())

{

return mDialog.isShowing();

}

return false;

}

public interface IHintDialog

{

public void onKeyDown(int keyCode, KeyEvent event);

public void showWindowDetail(Window window);

}

}

HintDialogActivity.java

import com.example.hintdialogdemo.HintDialog.IHintDialog;

import android.os.Bundle;

import android.app.Activity;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.View;

import android.view.Window;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

public class HintDialogActivity extends Activity implements OnClickListener

{

Button btnConfirm = null;

HintDialog mDialog = null;

@Override

public void onCreate(Bundle savedInstanceState)

相关文档
最新文档