Добавить полупрозрачный оверлей к фоновой активности во время выполнения

У меня есть приложение, которое я устанавливаю фон для изображения из xml. Я получаю представление, позвонив

setContentView(R.) 

, Как я могу разместить полупрозрачное наложение на этом фоне во время выполнения в зависимости от состояния. Я хотел бы иметь красный наложение с его альфа-настройкой до 50%.

Я попытался создать отдельный XML-файл с дублированным представлением и другим изображением / наложением, но его беспорядочно, поскольку я должен раздувать все кнопки / textview, когда я использую новое представление.

Спасибо матовый

[Edit1]

 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/carefreebgscaledlighting" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/textviewcompanyname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> <TextView android:id="@+id/textViewYouAreSignedIn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_alignParentTop="true" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> <TextView android:id="@+id/textViewUnsentTransactions" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_below="@id/textViewYouAreSignedIn" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> 

[Edit2]

 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:id="@+id/transparentOverlay" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/red_transparent" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/carefreebgscaledlighting" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/textviewcompanyname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> <TextView android:id="@+id/textViewYouAreSignedIn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_alignParentTop="true" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> 

[Edit3]

 <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/ll1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/carefreebgscaledlighting" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:id="@+id/textviewcompanyname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#003F87" /> 

,

 if(status.equalsIgnoreCase(IN)){ youAreSignedInAt.setText("You are signed in at " + name); LinearLayout layout =(LinearLayout)findViewById(R.id.ll1); layout.setBackgroundResource(R.drawable.carefreebgscaledlightingred); }else{ youAreSignedInAt.setText("You are not signed in"); LinearLayout layout =(LinearLayout)findViewById(R.id.ll1); layout.setBackgroundResource(R.drawable.carefreebgscaledlighting); } 

В верхней части моей головы вы можете объявить цвет фона, включая альфа-компонент в файле ресурсов (например, colors.xml)

 <color name="red_transparent">#66FF0000</color> 

Затем добавьте представление (то есть RelativeLayout ), поверх остальных видов.

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- All your views --> <!-- Transparent layer --> <RelativeLayout android:id="@+id/transparentOverlay" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/red_transparent" /> </RelativeLayout> 

Все, что вам нужно сделать, это изменить видимость R.id.transparentOverlay по вашему желанию.