2012-06-23 3 views
2

Я использую изображение в качестве фона линейного макета в моей программе Android. Мне нужно установить непрозрачность для этого. Может кто-нибудь сказать мне, как я могу это сделать? .. Изображение, которое полупрозрачный не показывает непрозрачность, но не знает причины. Заранее благодарен за ваши ценные комментарииLinear Layout Background image set alpha

+0

Можете ли вы вставить код XML, в котором вы определяете фон? Указываете ли вы на рисунок или прямо на изображение? –

+0

Пожалуйста, введите код в свой вопрос, а не как комментарий. –

+0

Извините, что я не могу это сделать ... Значительная строка - андроид: background = "@ drawable/ic_launcher" –

ответ

6

Если вы устанавливаете фон LinearLayout программно, это не должно быть проблемой.

Что вы ищете, это метод Drawable.setAlpha(int alpha). Из личного проекта:

ImageView image = (ImageView) row.findViewById(R.id.list_icon); 
image.setImageResource(R.id.something); 
image.setAlpha(110); 

Не то же самое, но, может быть, вы понимаете суть.

Вы используете выделение в качестве фона вашего макета. Задача здесь состоит в том, чтобы получить переменную, представляющую ваш drawable. Это делается here:

В своей деятельности к раскладке:

Resources res = getResources(); 
Drawable background = res.getDrawable(R.drawable.*the id*); 
    // The layout which are to have the background: 
LinearLayout layout = ((LinearLayout) findViewById(R.id.*you get it*)); 
    // Now that we have the layout and the background, we ajust the opacity 
    // of the background, and sets it as the background for the layout 
background.setAlpha(*a number*); 
layout.setBackgroundDrawable(background); 

И он должен работать. По крайней мере, это сработало для меня.

+0

Спасибо, отличный пример. – Dimon