Tengo un boton Cuando presiono el botón, tengo que poner el texto en negrita, de lo contrario normal. Entonces escribí estilos para negrita y 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>
Ahora tengo un 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>
En mi diseño para este botón, también tengo que hacer que el fondo sea transparente ... ¿Cómo lo haré? Mi código de diseño es:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
¿Cómo incluiré el fondo como transparente en mi estilo?
Respuestas:
Para hacer un fondo transparente, solo hazlo
android:background="@android:color/transparent"
.Sin embargo, su problema parece ser un poco más profundo, ya que está utilizando selectores de una manera realmente extraña. La forma en que lo usa parece incorrecto, aunque si realmente funciona, debería poner la imagen de fondo en el estilo como
<item/>
.Eche un vistazo más de cerca a cómo se usan los estilos en la fuente de Android. Si bien no cambian el estilo del texto al hacer clic en los botones, hay muchas buenas ideas sobre cómo lograr sus objetivos allí.
fuente
Prueba una nueva forma de establecer un fondo transparente
fuente
uso
#0000
(solo cuatro ceros, de lo contrario se considerará comoblack
) este es el código de color para transparente. Puede usarlo directamente, pero le recomiendo que defina un color en color.xml para que pueda disfrutar de la utilidad del código.fuente
@android:color/transparent
Agregue esto en su Xml -
android:background="@android:color/transparent"
fuente
También puede usar: en su xml:
o en código:
fuente
Lo logré en XML con
fuente
solía
y
fuente
Los selectores funcionan solo para dibujables, no para estilos. Referencia
Primero , para hacer que el fondo del botón sea transparente, use el siguiente atributo ya que esto no afectará las animaciones de diseño de materiales:
Hay muchas formas de diseñar tu botón. Mira este tutorial .
En segundo lugar , para que el texto aparezca en negrita al presionarlo, use este código java:
fuente
Puede lograrlo configurando el canal alfa de colores.
El esquema de color es así #AARRGGBB allí A representa el canal alfa (transparencia), R representa el rojo, G para el verde y B para el azul.
fuente
Paso 1: cree un nuevo archivo de recursos en dibujable y copie y pegue
guárdelo como ButtonUI (digamos)
Paso 2: aplique la interfaz de usuario al botón xml
fuente
Código:
Xml:
fuente
Podemos usar el atributo android: background en Button xml como a continuación.
O podemos usar estilo
style="?android:attr/borderlessButtonStyle"
para fondo transparente y menos sombra.fuente
Aplica el color de fondo como
transparent(light gray)
cuando hace clic en el botón.En el método anterior, establece el color de fondo del botón.
fuente
Puede hacerlo fácilmente agregando el siguiente atributo en el archivo xml. Este código fue probado mucho tiempo.
fuente