アクセントカラーを使用したマテリアルデザインの作業と見栄え(お持ちの場合)
5.0 以降の API バージョンの両方で動作するように努力しました。そして解決策は、進行状況ではなくダイアログで作成することです。
レイアウトフォルダーにファイルaux_progress_spinner.xmlを作成します
<?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="match_parent"
android:background="@android:color/transparent"
android:gravity="center"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
/>
</LinearLayout>
どこかに関数を作成します...たとえばUtils.classとしましょう
public static Dialog LoadingSpinner(Context mContext){
Dialog pd = new Dialog(mContext, android.R.style.Theme_Black);
View view = LayoutInflater.from(mContext).inflate(R.layout.aux_progress_spinner, null);
pd.requestWindowFeature(Window.FEATURE_NO_TITLE);
pd.getWindow().setBackgroundDrawableResource(R.color.transparent);
pd.setContentView(view);
return pd;
}
フラグメント/アクティビティの呼び出しで:
private Dialog progress_spinner;
progress_spinner = Utils.LoadingSpinner(mContext);
//------ Where you want it ------
progress_spinner.show();
//------- Dismiss it --------
progress_spinner.dismiss();
オプション:簡単な CountDownTimer を追加して、どのように見えるかをテストします
new CountDownTimer(1000,1000){
@Override public void onTick(long millisUntilFinished) {
}
@Override public void onFinish() {
progress.dismiss();
}
}.start();