要自定義ProgressDialog進度等待框,你可以創建一個自定義的布局文件,然后在代碼中使用該布局文件來實例化一個ProgressDialog對象。
首先,創建一個名為custom_progress_dialog.xml的布局文件,內容如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#80000000"
android:gravity="center"
android:padding="10dp">
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="50dp"
android:layout_height="50dp"
android:indeterminate="true"
android:indeterminateTint="#FFFFFF"
android:indeterminateTintMode="src_atop" />
<TextView
android:id="@+id/message_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/progress_bar"
android:layout_marginTop="10dp"
android:textColor="#FFFFFF" />
</RelativeLayout>
接下來,在代碼中使用該布局文件來創建自定義的ProgressDialog對象:
ProgressDialog progressDialog = new ProgressDialog(context);
progressDialog.show();
progressDialog.setContentView(R.layout.custom_progress_dialog);
progressDialog.setCancelable(false);
progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
TextView messageText = progressDialog.findViewById(R.id.message_text);
messageText.setText("加載中...");
// 可以根據需要設置ProgressDialog的其他屬性和方法
// 當任務完成時,可以調用以下方法關閉ProgressDialog
progressDialog.dismiss();
以上代碼中,通過ProgressDialog的setContentView()方法將自定義的布局文件設置為ProgressDialog的內容視圖。然后,我們可以通過findViewById()方法獲取布局文件中的ProgressBar和TextView,并進行相關操作。