studio - Botones sin bordes de Android
manual de programacion android pdf (5)
A riesgo de vencer a un caballo muerto, aquí hay otra opción (posiblemente mejor). AppCompat v7 define un estilo de botón sin bordes. Si ya está haciendo uso de la biblioteca AppCompat, simplemente vaya con eso:
<Button android:text="@string/borderlessButtonText" style="@style/Widget.AppCompat.Button.Borderless" />
Odio ser la tercera persona en preguntar esto, pero las two askings anteriores no parecieron responderlo por completo. Las pautas de diseño de Android detallan los botones sin bordes , pero no cómo hacerlos. En una de las respuestas anteriores, hubo una sugerencia de usar:
style="@android:style/Widget.Holo.Button.Borderless"
Esto funciona bien para un tema Holo, pero también uso mucho Holo.Light y
style="@android:style/Widget.Holo.Light.Button.Borderless"
No parece existir. ¿Hay una manera de aplicar un estilo para tales botones sin bordes en Holo.Light, o mejor aún, simplemente aplique una etiqueta sin bordes sin especificar a qué tema pertenece, para que la aplicación pueda elegir el estilo adecuado en tiempo de ejecución?
Holo.ButtonBar parece ajustarse a la factura de lo que estoy buscando, excepto que no proporciona comentarios de los usuarios que han sido presionados.
Además, ¿hay algún lugar en la documentación que enumere los estilos que se pueden aplicar y una descripción de ellos? No importa cuánto busco en google y busco en los documentos, no puedo encontrar nada. Solo hay una lista no descriptiva si hago clic derecho y edito el estilo.
Cualquier ayuda sería apreciada.
Edición: Obtuve una respuesta perfecta de javram, y quería agregar algunos XML para cualquier persona interesada en agregar los bordes parciales que Google ha adoptado.
Fora divisor horizontal, esto funciona muy bien.
<View
android:id="@+id/horizontal_divider_login"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@color/holo_blue" />
y esto para una vertical:
<View
android:id="@+id/vertical_divider"
android:layout_width="1dip"
android:layout_height="match_parent"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:background="@color/holo_blue" />
Echa un vistazo a mi respuesta here . En pocas palabras, la solución correcta es utilizar lo siguiente:
android:background="?android:attr/selectableItemBackground"
En caso de que alguien esté buscando una solución liviana para obtener el botón sin bordes para las API que no son compatibles con el tema Holo (como lo hice durante mucho tiempo), estoy publicando mi solución a continuación:
<View
android:layout_height="1dp"
android:layout_width="match_parent"
android:background="#505154"
android:layout_marginLeft="10dp" android:layout_marginRight="10dp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_Reply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:background="@android:color/transparent"
android:paddingBottom="15dp" android:paddingTop="15dp"
android:textColor="#5c5966"
android:text="@string/btnReplyText"/>
<View
android:layout_height="fill_parent"
android:layout_width="1dp"
android:background="#505154"
android:layout_marginBottom="7dp" android:layout_marginTop="7dp"/>
<Button
android:id="@+id/btn_Delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:paddingBottom="15dp" android:paddingTop="15dp"
android:textColor="#5c5966"
android:background="@android:color/transparent"
android:text="@string/btnDeleteText" />
<View
android:layout_height="fill_parent"
android:layout_width="1dp"
android:background="#505154"
android:text="@string/btnReplyText"
android:layout_marginBottom="7dp" android:layout_marginTop="7dp" />
<Button
android:id="@+id/btn_Exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_gravity="center"
android:text="@string/btnExitText"
android:paddingBottom="15dp" android:paddingTop="15dp"
android:textColor="#5c5966"
android:background="@android:color/transparent"/>
</LinearLayout>
Todo lo que tienes que hacer es cambiar los colores y el texto para que se adapte a tu propio fondo. ¡Todo lo mejor!
Este código eliminará todo el fondo de un botón:
android:background="@android:color/transparent"
Simplemente agregue el siguiente atributo de estilo en su etiqueta de Button
:
style="?android:attr/borderlessButtonStyle"
fuente: http://developer.android.com/guide/topics/ui/controls/button.html#Borderless