studio - Alinear a la derecha la columna en el diseño de la tabla de Android
manual de java para android (2)
Quiero dibujar una tabla en la que la última columna debería estar en el lado más a la derecha de la tabla.
Así es como se ve la fila de la tabla:
Admin (2)New
Network (2)New
Y así es como debe ser:
Admin (2) New
Network (2) New
XML:
<?xml version="1.0" encoding="utf-8"?>
<!-- row.xml -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="45dp"
android:gravity="center" android:background="@color/list_bg">
<TableLayout android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TableRow>
<ImageView android:id="@+id/t1" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/t2" android:typeface="normal"
android:singleLine="true" android:textSize="14sp" android:textStyle="normal"
android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content" />
<TextView android:id="@+id/t10" android:typeface="normal"
android:singleLine="true" android:text=" " android:textSize="14sp"
android:textStyle="normal" android:layout_width="wrap_content"
android:textColor="#000000" android:layout_height="wrap_content" />
<TextView android:id="@+id/t4" android:typeface="normal"
android:visibility="gone" android:singleLine="true" android:text="("
android:textSize="14sp" android:textStyle="normal"
android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content" />
<TextView android:id="@+id/t5" android:typeface="normal"
android:visibility="gone" android:singleLine="true"
android:textSize="14sp" android:textStyle="normal"
android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content" />
<TextView android:id="@+id/t6" android:typeface="normal"
android:visibility="gone" android:singleLine="true" android:text=")"
android:textSize="14sp" android:textStyle="normal"
android:layout_width="wrap_content" android:textColor="#000000"
android:layout_height="wrap_content" />
<ImageView android:id="@+id/t3" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView android:id="@+id/t7" android:typeface="normal"
android:visibility="visible" android:singleLine="true" android:text="New"
android:textSize="14sp"
android:textStyle="normal" android:layout_width="wrap_content"
android:textColor="#000000" android:layout_height="wrap_content" />
</TableRow>
</TableLayout>
</RelativeLayout>
En este xml t7 debería estar justo al lado derecho de la tabla, ¿cómo hacer esto?
- android: stretchColumns = "x" donde x es la columna que desea rellenar
- android: layout_width = "fill_parent" para asegurar que todo llene la pantalla
- android: layout_gravity = "right" para el componente de vista en la columna "x"
Ejemplo (pseudo código):
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1">
<TableRow>
<TextView android:text="Left Column" />
<TextView android:layout_gravity="right|center_vertical" android:text="Right Adjusted Column" />
</TableRow>
</TableLayout>
Aqui tienes que hacer
establecer el ancho de la fila de la tabla a
fill_parent
y configure
android:layout_gravity="right"
en la vista de texto que desea alinear con la fila de la tabla---- o ----
- agregue el peso a la vista de texto dentro de una fila de la tabla para que puedan alinearse como desee.