Texto del botón no centrado

Tengo un montón de botones en un diseño muy complejo. El problema es que lo que hago nunca, los botones no centrarán el texto dentro de ellos. Intenté agregar android: gravedad = "centro", intenté fijar la gravedad del código, intenté quitar todo el formato del botón. ¿Qué estoy haciendo mal? El texto del botón debe estar centrado.

Este es mi diseño:

<?xml version="1.0" encoding="utf-8"?> 

 <FrameLayout android:layout_width="wrap_content" android:layout_height="130dp" android:layout_gravity="center" android:orientation="vertical"> <!-- android:background="@drawable/picture_frame_94x94_suggested_matches" --> <ImageView android:layout_width="wrap_content" android:src="@drawable/picture_unknown" android:layout_height="fill_parent" android:scaleType="centerInside" android:paddingTop="12dp" android:paddingBottom="40dp" android:id="@+id/suggest_icon" android:layout_gravity="center"></ImageView> <TextView android:layout_width="wrap_content" android:layout_gravity="center_horizontal|bottom" android:paddingLeft="4dp" android:paddingRight="4dp" android:layout_height="wrap_content" android:id="@+id/suggest_name" android:textAppearance="?android:attr/textAppearanceMedium" android:paddingBottom="12dp" android:textColor="@color/black"></TextView> </FrameLayout> <LinearLayout android:orientation="horizontal" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.4"> <Button android:id="@+id/unmatch_button" android:text="Un-match" android:textColor="@color/white" android:background="@drawable/button_background" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="8dp" android:layout_marginLeft="8dp" android:gravity="center" android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/nextmatch_button" android:text="@string/next" android:textColor="@color/white" android:background="@drawable/button_background" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="8dp" layout_marginLeft="8dp" android:gravity="center" android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/donematchpicker_button" android:text="@string/done" android:textColor="@color/white" android:background="@drawable/button_background" android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="8dp" layout_marginLeft="8dp" android:gravity="center" android:visibility="gone" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_gravity="center_horizontal|bottom" android:paddingLeft="4dp" android:paddingRight="4dp" android:layout_height="wrap_content" android:id="@+id/suggest_count" android:textAppearance="?android:attr/textAppearanceMedium" android:paddingBottom="12dp" android:textColor="@color/black"></TextView> <include layout="@layout/facebook_list" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <View android:id="@+id/list_devider" android:layout_width="fill_parent" android:layout_height="1dp" android:background="?android:attr/listDivider" android:visibility="gone" /> <LinearLayout android:orientation="horizontal" android:layout_weight="0.4" android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:id="@+id/exit_button" android:text="@string/exit" android:textColor="@color/white" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_background" android:layout_marginRight="8dp" layout_marginLeft="8dp" android:visibility="gone" android:gravity="center" android:layout_marginTop="12dp" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/donematch_button" android:text="@string/done" android:textColor="@color/white" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_background" android:layout_marginRight="8dp" layout_marginLeft="8dp" android:visibility="gone" android:gravity="center" android:layout_marginTop="12dp" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> 

Este es XML del fondo del diálogo:

 <?xml version="1.0" encoding="UTF-8"?> 

 <solid android:color="#969798" /> <stroke android:width="3dp" android:color="#7dd6ee" /> <corners android:bottomRightRadius="6dp" android:bottomLeftRadius="6dp" android:topLeftRadius="6dp" android:topRightRadius="6dp"/> 

Captura de pantalla: http://i39.tinypic.com/fc8aoo.png

Esta es la inicialización del botón de ejemplo:

  nextButton = (Button)findViewById(R.id.nextmatch_button); nextButton.setVisibility(View.VISIBLE); nextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(new Runnable() { public void run() { // bunch of code }); nextButton.setGravity(Gravity.CENTER); 

Esta es la definición del fondo del botón:

  <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/button_small_hover" /> <item android:state_focused="true" android:drawable="@drawable/button_small_hover" /> <item android:state_enabled="false" android:drawable="@drawable/button_small2_disabled" /> <item android:drawable="@drawable/button_small2" /> </selector> 

¿Qué está causando que el texto quede alineado a la izquierda en lugar de centrarse en lo que hago con él? No puedo entenderlo.

4 Solutions collect form web for “Texto del botón no centrado”

Establezca el relleno igual del botón como:

 nextButton.setPadding(2,2,2,2); 

Espero que esto resuelva el problema.

En tu código, por cada botón que estés

Android: width = "wrap_content"

Así que, sea cual sea la longitud del texto, el botón no tomará tanto espacio,

Por lo que no se trata de hacer que el centro de texto

Trate de hacer su botón de ancho fijo.

 layout_width="100dip" 

Tengo una solución casual para hacer esto, sólo dar algunos espacios al inicio y final del texto, por ejemplo, "android: text =" xyz ".

  • ¿Cómo puedo añadir una nueva biblioteca a las dependencias de Android usando eclipse adt?
  • Fragment_main y activity_main en Android Studio
  • Creación de Gridview con imágenes seleccionables, Android
  • FrameLayout margen no funciona
  • ¿Cómo mostrar iconos en el menú de desbordamiento de ActionBar?
  • Implementar zoom en scrollView android
  • Creación de controles compuestos con atributos XML personalizados
  • Seguir recibiendo eglMakeCurrent Error en el informe EGL_BAD_ALLOC cuando no estamos usando GLSurface en absoluto
  • No se puede seleccionar el tema AppCompat para la vista de Android Studio Design
  • Spinner se mueve hacia abajo en el diseño después de seleccionar un elemento
  • Estilizar un texto de edición de Android para que parezca un selector de lista desplegable / spinner
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.