透明无边框的进度对话框

12

我有一个ProgressDialog,我将它定位在屏幕底部以避免与标志重叠。我想要做的是创建一个自定义样式,用于去除 ProgressDialog 的背景和边框,但我一直没有成功。

有人知道如何应用这个样式吗?

3个回答

10

你尝试将背景设置为透明色了吗?

这个答案 提供了详细的代码示例。


如果我只是样式化一个开箱即用的ProgressDialog,它似乎不起作用,它会简单地忽略这些样式。我将尝试扩展自己的自定义对话框,看看是否可以解决这个问题。 - madzilla

2
这可以帮助你(对我有用):
在res/layout中创建一个布局,像这样(例如命名为progressbar.xml):
<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" >

   <ProgressBar
      android:id="@+id/progressBar"
      style="?android:attr/progressBarStyleLarge"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_centerVertical="true" />
</RelativeLayout>

然后,将此代码放入您的Activity或Fragment中:
private ProgressDialog progressDialog;

// the first parameter (this) is your activity
// ... but if you need to use this code in a Fragment, use getActivity() instead 
progressDialog = ProgressDialog.show(this,null,null);  
progressDialog.setContentView(R.layout.progressbar);

所以,ProgressDialog 将会显示无背景和边框。

2
您可以使用图像作为进度对话框,并按照您的意愿进行自定义,例如-
         // Custom position Of image Loader
          WindowManager.LayoutParams wmlp =
          pDialog.getWindow().getAttributes(); int height =
          getResources().getDisplayMetrics().heightPixels; wmlp.y =
          height/4; pDialog.getWindow().setAttributes(wmlp);

更多细节请点击下面的链接:

http://androiddubd.blogspot.com/2014/09/how-to-create-transparent-progress.html


(注:本文为IT技术相关内容,介绍如何创建透明进度条。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接