Cómo tener una solución escalable de anchura basada en el ancho de la pantalla para una vista en android Relativa Diseño

StackOverflow https://stackoverflow.com//questions/25026434

Pregunta

En el Diseño de una actividad de mi aplicación para Android, necesito tener una línea con un texto alineado a la derecha de ella, como a continuación:

enter image description here

Y este es mi XML hasta el momento:

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <View
                android:id="@+id/line"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_marginLeft="15dp"
                android:layout_marginRight="15dp"
                android:layout_centerVertical="true"
                android:background="@android:color/darker_gray"/>


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=" Text "
                android:layout_alignRight="@id/line"/>


        </RelativeLayout>

Básicamente el problema es que el ancho de la línea cambia de acuerdo al ancho de la pantalla y el ancho del texto.Debe ser el ancho de la pantalla, menos el ancho del texto.

En mi archivo XML, el ancho de la línea es igual a la anchura de la pantalla y el texto se superpone a la línea alineada a la derecha.Que no es lo que yo quería.Una idea es hacer que el fondo de mi texto equivalente para el fondo de la actividad.Sin embargo, no estoy seguro de si esta es la mejor idea.

Me pregunto si hay alguna otra manera de abordar este tipo de problemas en Android de diseño.

¿Fue útil?

Solución

usted puede crear un layout_weight y envolver su punto de vista y textView en el interior de un linearlayout para habilitar el uso de peso atributo

ejemplo:

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

    <View
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="3dp"
        android:layout_gravity="center_vertical"
        android:background="@android:color/darker_gray" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=" Text " />

</LinearLayout>

Otros consejos

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text=" Text " />

<View
    android:id="@+id/line"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:layout_centerVertical="true"
    android:layout_toRightOf="@+id/textView1"
    android:background="@android:color/darker_gray" />

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top