定义一个加载数据的dialog

本文介绍了一种在Android应用中创建加载数据对话框的方法。该对话框使用自定义样式实现半透明背景及模糊效果,并展示了如何通过代码显示及关闭对话框。此外,还提供了对话框布局文件与样式配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private static Dialog loadDataDialog;

public static void showLoadDataDialog(Context context){

loadDataDialog = new Dialog(context,R.style.dialog);
loadDataDialog.setContentView(R.layout.load_data);


WindowManager.LayoutParams lp=loadDataDialog.getWindow().getAttributes();


// 模糊度
loadDataDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, 
WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
lp.alpha=0.5f;
loadDataDialog.getWindow().setAttributes(lp);



loadDataDialog.show();

}

public static void closeLoadDataDialog() {
if (loadDataDialog != null && loadDataDialog.isShowing()) {
loadDataDialog.dismiss();
}
}

}


load_data.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/transparent"
     >
    <ProgressBar
        android:indeterminateDrawable="@anim/update_loading_progressbar_anim"
       android:layout_width="30dp"
        android:layout_height="30dp" 
        android:layout_gravity="center"
        />
</FrameLayout>

//备注:最外层是一个FrameLayout,如果换成其他就会出现背景,不知道为什么?知道的可以帮忙看一下

style.xml

<style name="dialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <!-- 边框 -->


        <item name="android:windowIsFloating">true</item>
        <!-- 是否浮现在activity之上 -->


        <item name="android:windowIsTranslucent">true</item>
        <!-- 半透明 -->


        <item name="android:windowNoTitle">true</item>
        <item name="android:background">@color/transparent</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:backgroundDimEnabled">true</item>
        <!-- 模糊 -->
    </style>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值