android 提示框 自定义demo,Android使用DialogFragment,自定义对话框

这篇博客介绍了如何在Android中使用DialogFragment创建自定义对话框。通过步骤一创建pay_dialog_fragment.xml布局,步骤二定义PayDialogFragment类并继承DialogFragment,最后在Activity的点击事件中调用显示对话框。提供了单例模式来实例化Fragment,并展示了在点击结算按钮时弹出对话框的示例代码。
摘要由CSDN通过智能技术生成

Android使用DialogFragment,自定义对话框:

效果图:

9b8e16a984567edde998804f69975bf3.png

当我点击结算时,弹出对话框:

步骤一:创建:pay_dialog_fragment.xml:布局:

步骤二:创建Fragment继承自DialogFRagment:

package com.hlrj.posclound.fragments;

import com.hlrj.posclound.R;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.app.DialogFragment;

import android.content.DialogInterface.OnClickListener;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.Window;

/**

* 自定义dialog警告框,弹出后,用于用户选择需要的 支付方式:

* @author lenovo

*/

@SuppressLint("ValidFragment")

public class PayDialogFragment extends DialogFragment{

/**

* 用volatile修饰的变量,

* 线程在每次使用变量的时候,都会读取变量修改后的最的值。

* volatile很容易被误用,用来进行原子性操作。

*/

private static volatile PayDialogFragment dialog = null;

//私有化构造函数:

private PayDialogFragment(){}

/**

* 单例模式:创建 Fragment:

* @return

*/

public static PayDialogFragment getInstance(){

if(dialog==null){

synchronized(PayDialogFragment.class){

if(dialog ==null){

dialog = new PayDialogFragment();

}

}

}

return dialog;

}

/**

* 使用 onCreateView 创建 对话框的样式 使用自定义视图

*/

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

/**

* 先设置 无标题样式的 对话框

*/

getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

View view = inflater.inflate(R.layout.pay_dialog_fragment, container,false);

return view;

}

}

步骤三:Acitvity单击事件中调用,创建Fragment对象:

/**

* 单击事件:

*/

@Override

public void onClick(View v) {

switch(v.getId()){

case R.id.others_text_toPay:

PayDialogFragment editNameDialog = PayDialogFragment.getInstance();

editNameDialog.show(getFragmentManager(), "PayDialog");

break;

}

}

Demo地址: https://github.com/229457269/FragmentDialogDemo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值