Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Es posible especificar el borde en el botón android?

¿Es posible especificar el borde en el botón android en el archivo main.xml? [Ps sin el 'archivo xml separado que contiene etiqueta de trazo', pero en el archivo original main.xml donde defino el botón y también sin la solución 'dinámicamente por programación' y solución 'imágenes']

<Button android:background="#FFFFFF" android:layout_width="0dp" android:layout_height="fill_parent" android:text="Player 3" android:layout_x="0px" android:layout_y="0px" android:id="@+id/p3" android:layout_weight="1" /> 

Aquí estoy cambiando el fondo dinámicamente pero el problema es, para 2 botones no hay frontera.

  • ¿Cómo puedo volver a utilizar este botón de Android?
  • ¿Por qué un botón pierde su comportamiento original después de cambiar su color?
  • Android: establece alfa en el botón al hacer clic. Preferiblemente sólo xml
  • Práctica recomendada para definir eventos de botón en android
  • Cómo evitar que la actividad se cargue dos veces al presionar el botón
  • Cómo puedo mostrar múltiples líneas de texto en un botón
  • Botón con diseño XML personalizado
  • Android: cambia el texto del botón y el color de fondo
  • 3 Solutions collect form web for “¿Es posible especificar el borde en el botón android?”

    Esta no es la forma recomendada de hacerlo porque causa overdraw y añade vistas innecesarias, Gunaseelan tiene el método adecuado .


    No hay concepto de fronteras como un atributo. La manera aceptada es usar un dibujable separado como el fondo a la View (usando el stroke como usted ha mencionado y como escribe @gunaseelan).

    La otra forma (no recomendada) es incluir el Button en otra View como un LinearLayout , establecer el color de fondo en el color de borde deseado en la View encapsulado y el relleno en la View externa también.

     <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:background="#342334" android:padding="5dp" > <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="whatwhaaat" /> </LinearLayout> 

    El valor del relleno indicará el grosor del borde. Este método no es recomendable ya que se termina con una View adicional en su diseño, y otra capa de sobregiro (dibuja LinearLayout luego el Button en la parte superior).

    Trate de usar la forma

    My_shape.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:radius="0.1dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> <solid android:color="#FFFFFF" /> <stroke android:width="1dp" android:color="#E8E6E7" /> </shape> 

    Y botón

     <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/my_shape" android:text="Button" /> 

    Captura de pantalla

    Introduzca aquí la descripción de la imagen

    Espero que esto ayude.

    Introduzca aquí la descripción de la imagen

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="270" android:endColor="#E8f2fe" android:startColor="E8f2fe" /> <corners android:radius="3dp" /> <stroke android:width="2px" android:color="#486e9d" /> 

    Para más información http://androiddhina.blogspot.in/2015/09/border-color-on-android-button.html

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.