Alinear texto de un botón en android xml

publicado por: Anonymous

He creado un botón y le he puesto como background una imagen, pero al colocar el texto sobre el boton se coloca en una posicion no deseada, hay alguna forma de alinear el texto para quede de forma centralizada con la imagen, ya he probado con la propiedad gravity no funciono, el boton es de esta forma:

introducir la descripción de la imagen aquí

El codigo del boton es este:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.8"
    android:orientation="vertical"
    android:gravity="center"
    >

    <Button
        android:layout_width="130dp"
        android:layout_height="100dp"
        android:background="@drawable/botones"
        android:text="Empezar"
        android:gravity="center"
        android:textColor="@color/btn_color_text"
        />

</LinearLayout>

solución

Las propiedades a tener en cuenta son:

  • android:layout_alignTop="@+id/boton" alinea el TextView con el borde superior del botón
  • android:layout_alignLeft="@+id/boton" alinea el TextView con el borde izquierdo del botón
  • android:layout_marginLeft="20dp" aleja el TextView 20dp del borde izquierdo del boton.
  • android:layout_marginTop="20dp" aleja el TextView 15dp del borde superior del boton.

  • android:elevation="2dp" eleva el TextView 2dp. Esto es para que el TextView quede por encima del boton.

Juega con los valores de las propiedades android:layout_marginLeft y android:layout_marginTop para colocar el TextView en la posición que desees.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <Button
        android:id="@+id/boton"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="#ccc"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hola como"
        android:textSize="24dp"
        android:layout_alignTop="@+id/boton" 
        android:layout_alignLeft="@+id/boton" 
        android:layout_marginLeft="20dp"
        android:layout_marginTop="15dp"
        android:elevation="2dp"/>

</RelativeLayout>

introducir la descripción de la imagen aquí

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *