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

Android Layout background alpha

Привет, у меня есть макет, который я использую для заполнения моей страницы, и мне нужно установить фоновое изображение, содержащееся в моем drawable folder в этом макете.

Затем я хочу установить alpha value изображения на что-то довольно низкое, сделав изображение как водяной знак.

my xml выглядит как

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/main_background" >

Как вы можете видеть, я присвоил id макете

Я думал, что в своем явлении я мог бы сделать что-то вроде этого?

View backgroundimage = (View) findViewById(R.id.background);
backgroundimage.setAlpha(80);

Это не работает, но я подозреваю его, потому что я пытаюсь использовать фон как View, что я должен его использовать?

4b9b3361

Ответ 1

Попробуйте использовать:

Drawable.setAlpha();

Вы должны сделать что-то вроде этого:

View backgroundImage = findViewById(R.id.background);
Drawable background = backgroundImage.getBackground();
background.setAlpha(80);

Ответ 2

Если вы хотите установить alpha в xml, вы можете попробовать следующее:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#CC000000" >

первые 2 цифры используются для установки альфа-альфа, составляет 80% следующих 6 цифр для цветового кода

Следовательно, альфа устанавливается в шестнадцатеричном кодировании. FF = 100% и 00 = 0%, поэтому 80% не 80 в шестнадцатеричном формате, для более стандартных значений см. этот пост.

Ответ 3

Вы можете установить Alpha для Drawables, а не Views! Вы можете получить фоновый рисунок и сделать вот что:

View backgroundimage = (View) findViewById(R.id.background);
backgroundimage.getBackground().setAlpha(80);

Ответ 4

Используйте это на вашем LinearLayout

Android: фон = "# 92000000"