Подтвердить что ты не робот

Изменение цвета полупрозрачного фона для progressroid android

Я хочу изменить цвет фона в панели progress с черным полупрозрачным фоном с непрозрачностью менее 50%. Я много искал об этом, но не смог найти решение. Я не знаю, прав я или нет, но это имеет какое-то отношение к mdecor-свойству progressbar.

Ниже приведен код, который я использую.

pd = ProgressDialog.show(getActivity(), null, null,true);       
pd.setContentView(R.layout.remove_border);

Код для удаления границы рамки:

<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: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"
    android:indeterminateDrawable="@drawable/my_progress_indeterminate" />

</LinearLayout>

Код для my_progress_indeterminate:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/loadingiconblack"
android:pivotX="50%"
android:pivotY="50%" />

Ниже изображено, что область фона отмечена красным кружком. Я хочу изменить цвет на белый с той же непрозрачностью.

enter image description here

EDIT:

Окончательное решение моей проблемы благодаря Sripathi и user3298272, объединяющим оба решения, - это мой обновленный ответ:

pd = new Dialog(this, android.R.style.Theme_Black);
View view = LayoutInflater.from(this).inflate(R.layout.remove_border, null);
pd.requestWindowFeature(Window.FEATURE_NO_TITLE);
pd.getWindow().setBackgroundDrawableResource(R.color.transparent);
pd.setContentView(view);
pd.show();

remove_border xml code: Здесь андроид: gravity = "center" добавлен в линейный макет кода.

<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"
    android:indeterminateDrawable="@drawable/my_progress_indeterminate" />

</LinearLayout>

цветной код xml:

<resources>

  <color name="transparent">#80FFFFFF</color>

</resources>

В # 80FFFFFF 80 значение непрозрачности 50%, которое я взял у пользователя3298272.

4b9b3361

Ответ 1

Вы можете использовать диалог вместо progressdialog,

    dialogTransparent = new Dialog(this, android.R.style.Theme_Black);
    View view = LayoutInflater.from(getActivity()).inflate(
            R.layout.remove_border, null);
    dialogTransparent.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialogTransparent.getWindow().setBackgroundDrawableResource(
            R.color.transparent);
    dialogTransparent.setContentView(view);

Update:

   Here the color transparent is  #80FFFFFF

Ответ 2

Вот прозрачное соотношение цветов для цветовых кодов Hex.
100% - FF
95% - F2
90% - E6
85% - D9
80% - CC
75% - BF
70% - B3
65% - A6
60% - 99
55% - 8C
50% - 80
45% - 73
40% - 66
35% - 59
30% - 4D
25% - 40
20% - 33
15% - 26
10% - 1A
5% - 0D
0% - 00
Просто добавьте процент непрозрачности перед цветовым кодом. Например: цветовой код для черного цвета - # 0000. Если я хочу прозрачный черный с прозрачностью 50%, просто добавьте 80 до # 0000 (т.е. # 800000)

Ответ 3

Просто установите   progressBar.setAlpha(0.2f);