Циклический прогресс Android с прозрачным фоном

#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. Я попробовал, результат все еще темнее, чем фон диалогового окна :/