ProgressDialog旋转圈
我想实现像这样的ProgressDialog,没有额外的帧:
但是我得到这个。 我怎么能改变这个?
这是我的ProgressDialog代码。 提前致谢
private ProgressDialog mProgressDialog; ............ mProgressDialog = new ProgressDialog(activity); mProgressDialog.setIndeterminate(false); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); ............ public class ProgressTask extends AsyncTask <Fragment,Void,Fragment>{ @Override protected void onPreExecute(){ mProgressDialog.show(); } @Override protected Fragment doInBackground(Fragment... arg0) { //my stuff is here } @Override protected void onPostExecute(Fragment result) { mProgressDialog.dismiss(); } }
只需从布局中的ProgressBar
更改为ProgressDialog
即可:
RES / layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" > //Your content here </LinearLayout> <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" android:visibility="gone" android:indeterminateDrawable="@drawable/progress" > </ProgressBar> </RelativeLayout>
SRC / yourPackage / YourActivity.java
public class YourActivity extends Activity{ private ProgressBar bar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout); bar = (ProgressBar) this.findViewById(R.id.progressBar); new ProgressTask().execute(); } private class ProgressTask extends AsyncTask <Void,Void,Void>{ @Override protected void onPreExecute(){ bar.setVisibility(View.VISIBLE); } @Override protected Void doInBackground(Void... arg0) { //my stuff is here } @Override protected void onPostExecute(Void result) { bar.setVisibility(View.GONE); } } }
drawable / progress.xml这是我用来改变默认颜色的自定义ProgressBar
。
<?xml version="1.0" encoding="utf-8"?> <!-- Duration = 1 means that one rotation will be done in 1 second. leave it. If you want to speed up the rotation, increase duration value. in example 1080 shows three times faster revolution. make the value multiply of 360, or the ring animates clunky --> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:pivotX="50%" android:pivotY="50%" android:duration="1" android:toDegrees="360" > <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="8" android:useLevel="false" > <size android:height="48dip" android:width="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>
把这个XML只显示轮子:
<ProgressBar android:indeterminate="true" android:id="@+id/marker_progress" style="?android:attr/progressBarStyle" android:layout_height="50dp" />
我正在使用View.INVISIBLE和View.VISIBLE和ProgressBar将缓慢闪烁,而不是不断可见,切换到View.GONE和View.VISIBLE,它完美的作品
尝试这个………
ProgressDialog pd1; pd1=new ProgressDialog(<current context reference here>); pd1.setMessage("Loading...."); pd1.setCancelable(false); pd1.show();
解雇….
if(pd1!=null) pd1.dismiss();
- 使用WebView文本select的自定义上下文操作栏
- Android:在运行时更改形状颜色
- 在更新到新的Firebase之后获取Exception java.lang.NoClassDefFoundError:com.google.firebase.FirebaseOptions
- Android工作室 – 无法find目标android-18
- 如何自定义Android ActionBar在标签之前显示自定义视图?
- Apache HTTP客户端或URLConnection
- 在onPause,onStop和onDestroy方法中调用超类方法的正确顺序是什么? 为什么?
- 为什么Androidpopup消息被称为吐司?
- API级别是什么意思?