#android #view #dialog #android-progressbar
#Android #Вид #диалоговое окно #android-панель прогресса
Вопрос:
У меня есть полноэкранный диалог, который содержит только панель прогресса. Фон диалогового окна прозрачный с хорошим цветом, но за панелью прогресса, даже если я установлю для него прозрачный фон, будет наложение…
Как я могу сделать так, чтобы эта панель прогресса имела тот же прозрачный фон, что и диалоговое окно?
(Я закрыл информацию о частной части)
Да, я использовал пользовательский вид, но я тестировал как с индикатором прогресса по умолчанию, так и с пользовательским, я получаю такое же поведение.
Я также тестировал с помощью DialogFragment, тот же результат
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_transparent"
android:gravity="center"
android:orientation="vertical">
<com.wang.avi.AVLoadingIndicatorView
android:id="@ id/progressBar"
android:layout_width="@dimen/pop_button_height"
android:layout_height="@dimen/pop_button_height"
android:background="@color/black_transparent"
android:visibility="visible"
app:indicatorColor="@color/colorPrimaryDark"
app:indicatorName="BallSpinFadeLoaderIndicator" />
</LinearLayout>
Создание диалогового окна в действии :
mProgressDialog = new Dialog(this);
View view = LayoutInflater.from(this).inflate(R.layout.dialog_loading_overlay, null);
mProgressDialog.setCancelable(false);
mProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
mProgressDialog.setContentView(view);
mProgressDialog.show();
Ответ №1:
Попробуйте это, это может сработать для вас
mProgressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
Редактировать
Удалите android:background="@color/black_transparent"
в AVLoadingIndicatorView и попробуйте
Необязательно
Если вы хотите установить фон для этого (если появилось какое-либо предупреждение), используйте это android:background="@android:color/transparent"
Комментарии:
1. Я обновил свой вопрос с вашей модификацией. Прозрачность есть, но все же не такая, как у фонового макета…
2. Я попробовал, результат все еще темнее, чем фон диалогового окна :/