Android Layout фон альфа - PullRequest
       1

Android Layout фон альфа

19 голосов
/ 21 декабря 2011

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

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

мой 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" >

Как видите, я назначил идентификатор для макета

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

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

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

Ответы [ 4 ]

40 голосов
/ 21 декабря 2011

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

Drawable.setAlpha();

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

View backgroundImage = findViewById(R.id.background);
Drawable background = backgroundImage.getBackground();
background.setAlpha(80);
35 голосов
/ 17 октября 2013

Если вы хотите установить альфа в 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 в шестнадцатеричном формате, для более стандартных значений см. этот пост.

2 голосов
/ 09 июля 2016

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

Android: фон = "# 92000000"

1 голос
/ 20 декабря 2015

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

View backgroundimage = (View) findViewById(R.id.background);
backgroundimage.getBackground().setAlpha(80);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...