Pergunta

<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>

Foi isso que tentei obter um botão de imagem transparente para colocar esses botões em uma visão de superfície. Mas o Eclipse me dá um erro no projeto assim que incluo a linha transparente no XML.

Por favor ajude.

Foi útil?

Solução

Tente usar nulo para o fundo ...

android:background="@null"

Outras dicas

Não use um layout de transapência ou nulo Porque então o botão (ou a visualização genérica) não será mais destaque no clique !!!

Eu tive o mesmo problema e finalmente Eu encontrei o atributo correto da API Android para resolver o problema. Pode se aplicar a qualquer visualização.

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

android:background="?android:selectableItemBackground"

Você também pode usar uma cor transparente:

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

Definindo 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 eu achei isso usando

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

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

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

btn.setBackgroundDrawable(null);

Eu acredito que a resposta aceita deve ser: android:background="?attr/selectableItemBackground"

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

Remova esta linha:

android:background="@drawable/transparent">

E em sua classe de atividade conjunto

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

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

o significa transparente e 255 significa opaco.

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

android:background="#00000000"

Use o código de cores #00000000 para fazer qualquer coisa transparente

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

Defina o 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>

Usar "@nulo" . 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" />

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

<ImageButton
    android:id="@+id/imageButton"
    android:src="@android:drawable/ic_menu_delete"
    android:background="@android:color/transparent"
/>

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

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

(Android Studio 3.4.1)

Isso é programaticamente definido como cor de fundo como transparente

 ImageButton btn=(ImageButton)findViewById(R.id.ImageButton01);
 btn.setBackgroundColor(Color.TRANSPARENT);

Programaticamente Isso 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

No seu conjunto XML Background atribuir a qualquer cor White(#FFFFFF) sombra ou Black(#000000) Shade.

#80000000   

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" />
<ImageButton
    android:id="@+id/previous"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/media_skip_backward">
</ImageButton>

Eu usei um transparente png para o ImageButton, e as ImageButton trabalhado.

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