Eu tenho um botão Quando pressiono o botão, tenho que deixar o texto em negrito, caso contrário, normal. Então eu escrevi estilos para negrito e normal.
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">normal</item>
</style>
Agora eu tenho um button_states.xml como:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
style="@style/textbold" />
<item android:state_focused="false" android:state_pressed="true"
style="@style/textregular" />
<item style="@style/textregular" />
</selector>
No layout deste botão, também tenho que tornar o plano de fundo transparente ... Como farei isso? Meu código de layout é:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
Como incluirei o plano de fundo tão transparente no meu estilo?
Respostas:
Para tornar um plano de fundo transparente, basta fazê-lo
android:background="@android:color/transparent"
.No entanto, seu problema parece ser um pouco mais profundo, pois você usa seletores de uma maneira realmente estranha. O modo como você o usa parece errado, embora, se realmente funcione, você deve colocar a imagem de plano de fundo no estilo como um
<item/>
.Veja mais de perto como os estilos são usados na fonte do Android. Embora eles não alterem o estilo do texto ao clicar nos botões, existem muitas boas idéias sobre como atingir seus objetivos lá.
fonte
Tente uma nova maneira de definir o plano de fundo transparente
fonte
use
#0000
(apenas quatro zeros, caso contrário, será considerado comoblack
) este é o código de cores para transparente. Você pode usá-lo diretamente, mas eu recomendo que você defina uma cor em color.xml para poder aproveitar a reutilização do código.fonte
@android:color/transparent
Adicione isso no seu XML -
android:background="@android:color/transparent"
fonte
Você também pode usar: no seu xml:
ou no código:
fonte
Eu consegui isso com em XML com
fonte
eu usei
e
fonte
Os seletores funcionam apenas para desenháveis, não para estilos. Referência
Primeiro , para tornar o fundo do botão transparente, use o seguinte atributo, pois isso não afetará as animações de design do material:
Existem várias maneiras de estilizar seu botão. Confira este tutorial .
Segundo , para deixar o texto em negrito, pressione este código java:
fonte
Você pode conseguir isso definindo o canal alfa das cores.
O esquema de cores é assim #AARRGGBB lá A significa canal alfa (transparência), R significa vermelho, G para verde e B para azul.
fonte
Etapa 1: Crie um novo arquivo de recurso no drawable e copie e cole
salve-o como ButtonUI (digamos)
Etapa 2: aplicar a interface do usuário ao botão xml
fonte
Código:
Xml:
fonte
Podemos usar o atributo android: background no Button xml como abaixo.
Ou podemos usar o estilo
style="?android:attr/borderlessButtonStyle"
para transparente e sombreie menos fundo.fonte
Você aplica a cor de fundo como
transparent(light gray)
quando clica no botão.No método acima, você define a cor de fundo do botão.
fonte
Você pode fazer isso facilmente adicionando o atributo abaixo no arquivo xml. Este código foi testado bastante tempo.
fonte