当进度条滚轮在andorid中运行时,任何人都知道如何设置背景模糊器。我希望当圆形滚轮进度条运行且后台没有交互时,该屏幕看起来像模糊。
答案 0 :(得分:2)
将ProgressBar控件放到layout xml
<ProgressBar
android:id="@+id/progressBarDialog"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:visibility="gone"
android:indeterminateDrawable="@drawable/myDialog" >
</ProgressBar>
将ID分配到activity
private ProgressBar bar;
bar = (ProgressBar) findViewById(R.id.progressBarDialog);
创建一个名为myDialog.xml的 将以下代码放在 colors.xml <?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:toDegrees="360">
<shape
android:innerRadiusRatio="3"
android:shape="ring"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="48dip"
android:height="48dip" />
<gradient
android:centerColor="@color/color_preloader_center"
android:centerY="0.50"
android:endColor="@color/color_preloader_end"
android:startColor="@color/color_preloader_start"
android:type="sweep"
android:useLevel="false" />
</shape>
</rotate>
<color name="color_preloader_start">#000000</color>
<color name="color_preloader_center">#000000</color>
<color name="color_preloader_end">#ff56a9c7</color>
答案 1 :(得分:0)
在xml中使用简单的进度条 使用依赖
a = '\0'; to *a = '\0';
将id(内容)提供给您希望在进度条中模糊的xml
compile 'jp.wasabeef:blurry:2.1.1' in build.gradle
在java中复制这个blurall()函数
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/content"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
第一次调用blurall()函数会模糊你的所有屏幕,第二次调用blurall()函数会删除blur.Call blurall()函数,在进度条启动之前就像
private void blurall() {
if (blurred) {
Blurry.delete((ViewGroup) findViewById(R.id.content));
} else {
long startMs = System.currentTimeMillis();
Blurry.with(viewprofile.this)
.radius(25)
.sampling(2)
.async()
.animate(500)
.onto((ViewGroup) findViewById(R.id.content));
Log.d(getString(R.string.app_name),
"TIME " + String.valueOf(System.currentTimeMillis() - startMs) + "ms");
}
blurred = !blurred;
}
之后再次调用blurall()函数
blurall();
progressBar.setVisibility(View.VISIBLE);
答案 2 :(得分:0)
我正在使用此代码,因为我需要与您相同,这也最符合您的要求。
您可以在基本活动类中编写此代码,并将其用作您的要求。
ViewGroup progressView;
protected boolean isProgressShowing = false;
public void showProgressingView() {
if (!isProgressShowing) {
isProgressShowing = true;
progressView = (ViewGroup) getLayoutInflater().inflate(R.layout.progressbar_layout, null);
View v = this.findViewById(android.R.id.content).getRootView();
ViewGroup viewGroup = (ViewGroup) v;
viewGroup.addView(progressView);
}
}
public void hideProgressingView() {
View v = this.findViewById(android.R.id.content).getRootView();
ViewGroup viewGroup = (ViewGroup) v;
viewGroup.removeView(progressView);
isProgressShowing = false;
}
此处progressbar_layout.xml
是
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#BA000000">
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerInParent="true"
/>
</RelativeLayout>
progressbar_layout
。答案 3 :(得分:0)
只需在您的Java代码中添加此行
df.repartition($"country_id").mapPartition()