it-swarm-pt.tech

Como ter um ImageButton transparente: Android

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@drawable/transparent"></ImageButton>

Isso é o que eu tentei obter um ImageButton transparente para colocar esses botões em um SurfaceView. Mas o Eclipse, me dá um erro no projeto assim que eu incluo a linha transparente no xml.

Por favor ajude.

461
Namratha

Tente usar null para o plano de fundo ...

Android:background="@null"
940
Quintin Robinson

NÃO USE UM TRANSAPENTE OR NULL LAYOUT porque então o botão (ou a visão genérica) não irá mais se destacar ao clicar !!!

Eu tive o mesmo problema e finalmente eu encontrei o atributo correto da API do Android para resolver o problema. Pode aplicar-se a qualquer visão.

Use isso nas especificações do botão:

Android:background="?android:selectableItemBackground"
274
lory105

Você também pode usar uma cor transparente:

Android:background="@Android:color/transparent"
134
Geykel

Definir o plano de fundo para "@null" fará com que o botão não tenha efeito quando clicado. Esta será uma escolha melhor.

style="?android:attr/borderlessButtonStyle"

Mais tarde, descobri que usando

Android:background="?android:attr/selectableItemBackground"

também é uma boa solução. E você pode herdar esse atributo em seu próprio estilo.

108
Eliko

em tempo de execução, você pode usar o seguinte código

btn.setBackgroundDrawable(null);
14
Adem

Acredito que a resposta aceita seja: Android:background="?attr/selectableItemBackground"

Isso é o mesmo que a resposta do @lory105, mas usa a biblioteca de suporte para compatibilidade máxima (o equivalente Android: está disponível apenas para API> = 11)

11
Sam Stern

Remova esta linha:

Android:background="@drawable/transparent">

E no seu conjunto de classes de atividade

ImageButton btn = (ImageButton)findViewById(R.id.previous);
btn.setAlpha(100);

Você pode definir o nível alfa de 0 a 255

o significa transparente e 255 significa opaco.

8
Nishant Shah

A melhor maneira é usar o código de cores transparente

Android:background="#00000000"

use o código de cor # 00000000 para tornar qualquer coisa transparente

5
Ajay Venugopal

Use ImageView... tem fundo transparente por padrão ...

2
Daniel Gomez Rico

Definir o plano de fundo do ImageButton como @null em XML

<ImageButton Android:id="@+id/previous"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/media_skip_backward"
Android:background="@null"></ImageButton>
1
Murtuza Khan

Use "@ null". Isso funcionou para mim.

<ImageButton
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    app:srcCompat="@drawable/bkash"
    Android:id="@+id/bid1"
    Android:layout_alignParentTop="true"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true"
    Android:background="@null" />
1
abir99

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

<ImageButton
    Android:id="@+id/imageButton"
    Android:src="@Android:drawable/ic_menu_delete"
    Android:background="@Android:color/transparent"
/>
1
Nikolay Podolnyy

Isso é programaticamente definido cor de fundo como transparente

 ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
 btn.setBackgroundColor(Color.TRANSPARENT);
0
Xar E Ahmer

Programaticamente pode ser feito por:

image_button.setAlpha(0f) // to make it full transparent
image_button.setAlpha(0.5f) // to make it half transparent
image_button.setAlpha(0.6f) // to make it (40%) transparent
image_button.setAlpha(1f) // to make it opaque
0
Muhammed Refaat

Em seu conjunto de XML Background atributo para qualquer cor White(#FFFFFF) sombra ou Black(#000000) shade.if você deseja transparência basta colocar 80 antes do código hash real.

#80000000   
0
Alireza Ghanbarinia

Usa isto:

<ImageButton
 Android:id="@+id/back"
 Android:layout_width="wrap_content"
 Android:layout_height="wrap_content"
 Android:background="@null"
 Android:padding="10dp"
 Android:src="@drawable/backbtn" />
0
Akshay Paliwal

Eu já estava adicionando algo ao fundo então, isso funcionou para mim:

   Android:backgroundTint="@Android:color/transparent"

(Android Studio 3.4.1)

0
Arsam