【发布时间】:2020-06-12 15:34:36
【问题描述】:
我正在为我的警报对话框使用自定义布局。布局包含一个 ProgressBar 和一个 TextView。我想要一个不断旋转的圆形进度条。 TextView 可见,但 ProgressBar 不可见。
processing_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="70dp"
android:layout_height="70dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.04"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
></ProgressBar>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="#000000"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.13"
app:layout_constraintStart_toEndOf="@+id/progressBar"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/processing_message"></TextView>
</androidx.constraintlayout.widget.ConstraintLayout>
ProcessingDialog.java
public class ProcessingDialog extends DialogFragment {
private String messageToShow;
private Dialog dialog;
private Context context;
private Activity activity;
ProcessingDialog(String message, Activity activity){
messageToShow = message;
this.activity = activity;
}
@Override
public Dialog onCreateDialog(Bundle savedInstance){
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
LayoutInflater inflater = activity.getLayoutInflater();
View v = inflater.inflate(R.layout.processing_dialog,null);
((TextView)v.findViewById(R.id.processing_message)).setText(messageToShow);
builder.setView(v);
dialog = builder.create();
return dialog;
}
}
ViewDataActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_data_activity);
initView();
dialog = new ProcessingDialog("Processing...", ViewDataActivity.this).onCreateDialog(savedInstanceState);
dialog.show();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.addValueEventListener(valueEventListener);
}
【问题讨论】: