texto studio redondo personalizar para imagen hacer funcionar efectos diseño con codigo botones boton android layout button borderless

redondo - efectos botones android studio



Cómo crear botones sin bordes en Android (8)

Esta pregunta ya tiene una respuesta aquí:

Las Pautas de diseño de Android dicen que se usen botones sin bordes (ver la imagen a continuación), pero realmente no explican cómo. Alguien hizo la misma pregunta hace unas semanas: ¿Cómo crear botones estándar sin bordes (como en la guía de diseño mencionada)? y hubo una respuesta marcada como "la" respuesta, pero todavía estoy perdido y no veo una manera de agregar comentarios a una pregunta que ha sido "cerrada"

La respuesta dijo

"Mire en los atributos del tema buttonBarStyle , buttonBarButtonStyle , y buttonBarButtonStyle "

pero todavía no puedo entender cómo usar esas cosas. Busqué en Google un poco y no pude encontrar nada, así que pensé que simplemente volvería a hacer la pregunta, y espero que alguien pueda proporcionar un poco más de detalles sobre cómo funciona esto.


Este código funciona para mí:

<View android:layout_width="match_parent" android:layout_height="1dip" android:background="?android:attr/dividerVertical" /> <LinearLayout style="?android:attr/buttonBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:measureWithLargestChild="true" android:orientation="horizontal" android:paddingLeft="2dip" android:paddingRight="2dip" android:paddingTop="0dip" > <Button android:id="@+id/cancel" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="onClickCancel" android:text="@string/cancel" /> <Button android:id="@+id/info" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="onClickInfo" android:visibility="gone" android:text="@string/info" /> <Button android:id="@+id/ok" style="?android:attr/buttonBarButtonStyle" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="onClickSave" android:text="@string/save" /> </LinearLayout>

Muestro 3 botones en la parte inferior


Hace algunos días tropezó con esto de nuevo.

Aquí mi solución:

Esto se hace en 2 pasos: configurar el atributo de fondo del botón en android: attr / seleccionableItemBackground crea un botón con comentarios pero sin fondo.

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

La línea para dividir el botón sin bordes del resto de su diseño se realiza mediante una vista con el fondo android: attr / dividerVertical

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

Para una mejor comprensión aquí hay un diseño para una combinación de botones OK / CANCELAR sin márgenes en la parte inferior de la pantalla (como en la imagen de la derecha de arriba).

<RelativeLayout android:layout_width="match_parent" android:layout_height="48dp" android:layout_alignParentBottom="true"> <View android:layout_width="match_parent" android:layout_height="1dip" android:layout_marginLeft="4dip" android:layout_marginRight="4dip" android:background="?android:attr/dividerVertical" android:layout_alignParentTop="true"/> <View android:id="@+id/ViewColorPickerHelper" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_marginBottom="4dip" android:layout_marginTop="4dip" android:background="?android:attr/dividerVertical" android:layout_centerHorizontal="true"/> <Button android:id="@+id/BtnColorPickerCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_toLeftOf="@id/ViewColorPickerHelper" android:background="?android:attr/selectableItemBackground" android:text="@android:string/cancel" android:layout_alignParentBottom="true"/> <Button android:id="@+id/BtnColorPickerOk" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:background="?android:attr/selectableItemBackground" android:text="@android:string/ok" android:layout_alignParentBottom="true" android:layout_toRightOf="@id/ViewColorPickerHelper"/> </RelativeLayout>



Pensé que tenía esto resuelto cuando miré aquí hace unas semanas y noté la respuesta sobre el uso de un fondo transparente, pero no es lo suficientemente bueno porque evita que el botón se resalte cuando se presiona.

Además, configurar el estilo en Widget.Holo.Button.Borderless no es apropiado porque hace que los límites de los botones sean grandes.

Para resolver esto de una vez por todas, verifico el código fuente de Android para la aplicación de calendario estándar y descubrí que usa lo siguiente:

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

Hacerlo de esta manera garantiza que el botón no tenga bordes y tenga el tamaño correcto.


Si usa ActionbarSherlock ...

<Button android:id="@+id/my_button" style="@style/Widget.Sherlock.ActionButton" />



<Button android:id="@+id/my_button" style="@android:style/Widget.Holo.Button.Borderless" />


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