Pergunta

Estou usando uma visualização da web na qual estou adicionando uma visualização de imagem. Como posso definir o plano de fundo desta exibição de imagem como transparente?

Eu tentei o seguinte:

mImageview.setBackgroundResource(R.color.trans);

Onde trans<color name="trans">#00000000 </color>.

Foi útil?

Solução

Em seu XML defina o Background atribuir a qualquer cor, White(#FFFFFF) sombra ou Black(#000000) sombra. Se você deseja transparência, basta colocar 80 antes do código de hash real:

#80000000

Isso mudará qualquer cor que você desejar para uma transparente .. :)

Outras dicas

Você pode definir o fundo transparente de qualquer layout, qualquer visualização ou qualquer componente adicionando este código no XML:

android:background="@android:color/transparent" 

Além do que Harshad mencionou:

Dois caracteres hexadecimais podem ser anexados a qualquer código de cores hexadecimal. Os dois primeiros caracteres em um código de cores hexadecimais de 8 dígitos representa sua opacidade no Android.

Os dois caracteres hexadecimais podem variar de 00 a FF. Por exemplo,

  • HEXCONAL OPAQUE NORMAL- "#000000"
  • Totalmente transparente - "#00000000"
  • Totalmente opaco - "#FF000000"
  • 50% transparente - "#7F000000"

Dessa forma, você pode alterar qualquer cor para qualquer nível de transparência.

Para encontrar o prefixo hexadecimal de uma porcentagem:

Divida o número percentual de 100 e multiplique por 255 para obter o valor decimal. Converter o decimal em hexadecimal aqui.

Por exemplo, por 50%, 50/100 * 255 = 127. Usando o link, obtemos valor hexadecimal 7F.

Fonte: Android: como criar um fundo transparente ou opaco

Se você deseja adicionar uma transparência de 20% ou 30%, preça mais dois caracteres ao código hexadecimal, como o CC.

Observação

android:background="#CCFF0088" em xml

Onde CC é o valor alfa, FF é o fator vermelho, 00 é o fator verde e 88 é o fator azul.

Algum código de opacidade:

Valores de opacidade hexadecimal

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

Você também pode definir a opacidade programaticamente como:

yourView.getBackground().setAlpha(127);

Defina a opacidade entre 0 (totalmente transparente) a 255 (completamente opaco). O 127,5 é exatamente 50%.

Você pode criar qualquer nível de transparência usando a fórmula fornecida. Se você quer meio transparente:

 16 |128          Where 128 is the half of 256.
    |8 -0         So it means 80 is half transparent.

E para 25% de transparência:

16 |64            Where 64 is the quarter of 256.
   |4 -0          So it means 40 is quarter transparent.

Use o código abaixo para preto:

<color name="black">#000000</color>

Agora, se você quiser usar a opacidade, poderá usar o código abaixo:

<color name="black">#99000000</color>

E o abaixo para o código de opacidade:

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

Use este código para cor transparente

android:background="@android:color/transparent" 

Já existe uma constante predefinida. Usar Color.TRANSPARENT.

Já existe um transparente embutido no Android: r.color.Transparent. http://developer.android.com/reference/android/r.color.html#transparent

Mas acho que você pode querer fazer o plano de fundo da imagem que está colocando no WebView Transparent, por exemplo, com um PNG transparente, em vez do fundo ImageView. Se a imagem real não for transparente, o fundo ImageView não poderá ser visto através dela.

Caso você queira no código, apenas:

mComponentName.setBackgroundColor(Color.parseColor("#80000000"));

Ou, como alternativo, analise o ID do recurso com o seguinte código:

  mComponentName.setBackgroundColor(getResources().getColor(android.R.color.transparent));

Para aqueles que ainda estão enfrentando esse problema, você pode tentar isso
element.getBackground().setAlpha(0);

No seu arquivo XML, defina um atributo "alfa"

tal como

android:alpha="0.0" // for transparent
android:alpha="1.0" // for opaque

Você pode fornecer qualquer valor entre 0,0 e 1,0 em decimal para aplicar a transparência necessária. Por exemplo, 0,5 transparência é ideal para componente desativado

Experimente este código :)

É um código HEXA totalmente transparente - "#00000000"

Mais uma maneira simples:

mComponentName.setBackgroundResource(android.R.color.transparent);

Outra opção de trabalho que encontrei é definir android:background="@null"

Use o seguinte para transparência completa:

#00000000

Quando tentei com o #80000000, recebi uma sobreposição transparente preta que não quero. Tente alterar os dois primeiros dígitos; controla o nível de transparência, como

#00000000
#10000000
#20000000
#30000000

Você também pode usar View.setAlpha(float) para mudar a visibilidade com precisão.

0 seria transparente, 1 totalmente visível. ;)

No Android Studio, é muito simples ajustar cores e opacidade usando uma ferramenta interna:

Android Adjust Color Opacity

Tente usar o seguinte código. Isso o ajudará na íntegra ou mais.

  1. Um arquivo .xml projetado para usar este código para definir a cor do plano de fundo:

    android:background="#000000"
    

    ou

    android:background="#FFFFFF"
    

    Image is here

    Ou você pode defini -lo programaticamente também.

  2. Além disso, você pode usar este código programaticamente:

    image.setBackgroundDrawable(getResources().getDrawable(
        R.drawable.llabackground));
    
  3. Além disso, este código para definir a cor do plano de fundo também programaticamente:

    image.setBackgroundColor(Color.parseColor("#FFFFFF"));
    
  4. Este código para o mesmo programaticamente:

    image.setBackgroundColor(getResources().getColor(Color.WHITE));
    

A cor depende da sua escolha de qual cor você deseja usar para transparente. Use principalmente uma cor branca ou #ffffff.

Em relação a R.drawable.llabackground: Esta linha de código é para o seu estilo de fundo, como algo especial ou diferente para o seu objetivo. Você também pode usar isso.

Se você usar uma imagem XML desenhada, poderá torná -la transparente, como mostrado na figura abaixo, ou pode usar um código de cores:

<color name="black">#99000000</color> 

Enter image description here

ImageView.setBackground(R.drawable.my_background);

ImageView.setBackgroundResource(R.color.colorPrimary);

ImageView.getImageAlpha();

ImageView.setAlpha(125); // transparency

Experimente isso:

#aa000000

Para transparência 000000 = preto, você pode alterar esses seis números para a cor desejada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top