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 ".

  • Resaltar o subrayar seleccionado TabPageIndicator
  • HorizontalScrollView dentro de ListView: desplazamiento vertical menor para desplazamiento horizontal
  • Cambio de vista de la aplicación de Android en lugar de emulador
  • Estilo de fila ListView: texto alineado a la izquierda e icono alineado a la derecha
  • Android: fitsSystemWindows y newline interfieren con bottomSheets
  • ¿Puede la carpeta Diseño de Android contener subcarpetas?
  • Tipo de entrada de EditText textCapSentences no funciona en Lollipop
  • Mostrar fuentes personalizadas o Ver en la sección de vista previa de Android Studio XML
  • ¿Cómo obtenerContentHeight cuando se utiliza loadData?
  • Problemas de procesamiento: Android Studio 1.2.1.1 y Gradle 1.2.3
  • ImageView una dimensión para caber espacio libre y segundo evaluar para mantener la ración de aspecto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.