Como ter um escalável largura com base na largura da tela para um modo de exibição no android em relação Layout

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

Pergunta

No Layout para uma atividade do meu aplicativo Android, eu preciso ter uma linha com um texto alinhado no lado direito dele, como abaixo:

enter image description here

E este é o meu XML até o 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>

Basicamente, o problema é que a largura da linha é alterada de acordo com a largura da tela e a largura do texto.Ele deve ser a largura da tela menos a largura do texto.

No meu arquivo XML, a largura da linha é igual à largura da tela e o texto sobreposições de linha, alinhado à direita.O que não é o que eu queria.Uma ideia é tornar o plano de fundo do meu texto equivalente para o plano de fundo da atividade.No entanto, eu não tenho certeza se essa é a melhor idéia.

Eu estou querendo saber se há alguma outra maneira de abordar esses problemas no Android design.

Foi útil?

Solução

você pode criar uma layout_weight e moldar seu ponto de vista e textView dentro de um linearlayout para habilitar a usar o peso do atributo

exemplo:

<?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>

Outras dicas

<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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top