dialogProgress自定义

本文介绍了一种解决项目从Eclipse迁移到Android Studio后ProgressDialog背景变为黑色的方法。通过自定义ProgressDialog样式和布局,实现了预期的显示效果。

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

记录一下,以备后用!


项目从eclipse转到android studio 中后ProgressDialog背景图变成黑色,无奈只能自定义。


核心方法:

public static Dialog dialogProgress(Activity activity,String text,boolean aBoolean)
    {

        Dialog dialog = new Dialog(activity, R.style.LodingDialog);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        View view = LayoutInflater.from(activity).inflate(R.layout.dialog, null);
        dialog.setContentView(view);
        TextView dialogText = (TextView) view.findViewById(R.id.dialogText);
        dialogText.setText(text);//设置显示文字

        Window dialogWindow = dialog.getWindow();
        WindowManager.LayoutParams lp = dialogWindow.getAttributes();
        dialogWindow.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CLIP_VERTICAL);
        
        lp.width = (int) (activity.getWindowManager().getDefaultDisplay().getWidth() * 0.5); // 宽度设置为屏幕的0.65
        lp.height = (int) (activity.getWindowManager().getDefaultDisplay().getHeight() * 0.08); // 高度设置为屏幕的0.08
        lp.alpha = 0.7f; // 透明度

        // 当Window的Attributes改变时系统会调用此函数,可以直接调用以应用上面对窗口参数的更改,也可以用setAttributes
        dialogWindow.setAttributes(lp);
        dialog.setCancelable(aBoolean);  //设置ProgressDialog (true/false)是/否可以按退回按键取消
        dialog.show();

        return dialog;
    }



xml文件(R.layout.dialog):

<?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="wrap_content"
              android:layout_gravity="center"
              android:background="@color/white"
              android:orientation="horizontal">

    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginLeft="5dp"
        android:padding="10dp"
        />

    <TextView
        android:id="@+id/dialogText"
        style="@style/textNormal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:padding="10dp"
        android:text="正在提交..."
        android:textColor="@color/black"/>
</LinearLayout>



style文件(R.style.LodingDialog):

<style name="LodingDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:background">@android:color/white</item>
    </style>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值