Domanda

Ho un problema con due Textviews sulla stessa altezza in un RelativeLayout correre l'uno nell'altro.

Io uso il seguente layout.

<?xml version="1.0" encoding="utf-8"?>

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

<ImageView 
       android:id="@+id/logo" 
       android:layout_width="wrap_content"
       android:layout_height="wrap_content" 
       android:adjustViewBounds="true"
       android:scaleType="centerInside"
       android:src="@drawable/icon" />

<TextView 
       android:id="@+id/name"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content" 
       android:text="NameNameNameNameNameNameName"
       android:layout_alignParentTop="true"
       android:layout_toRightOf="@id/logo"
       android:gravity="clip_horizontal" 
       android:lines="1" />

<TextView 
      android:id="@+id/information"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Distance"
      android:layout_alignParentRight="true"
      android:layout_alignParentTop="true" />

<TextView
      android:id="@+id/nrcoupons"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Number"
      android:layout_alignRight="@id/information"
      android:layout_alignBottom="@id/logo" />

<TextView
      android:id="@+id/subcategory"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" 
      android:text="Subcategory"
      android:layout_alignLeft="@id/name"
      android:layout_alignBottom="@id/logo" />

</RelativeLayout>

Questo mi dà questo punto di vista:

alt text http://janusz.de/~janusz/view.png

Tutto è come mi serve, se non il nome e le informazioni due textviews vengono visualizzati sullo stesso spazio sullo schermo con l'uno sopra l'altro.

Come posso evitare questo?

È stato utile?

Soluzione

Per la vostra @+id/name TextView, aggiungere android:layout_toLeftOf="..." per qualunque TextView si trova sulla destra. Lo screenshot e l'XML non sembrano allinearsi (screenshot sembra avere "Distance" in TextView sovrascritto, ma l'XML non), quindi non sono del tutto certo che Widget Questo è.

Se si prendono di mira Android 1.5, è necessario ordinare i widget in XML in modo tale che i widget sono definite prima di essere referenziate da android:layout_toLeftOf o android:layout_toRightOf. Se si prendono di mira Android 1.6 e versioni successive solo, si può avere loro di essere in qualsiasi ordine, ma la prima occorrenza di qualsiasi ID distinta deve avere il segno +, anche se quella prima occorrenza è in un attributo android:layout_toLeftOf invece di un attributo android:id.

Altri suggerimenti

Il TextView namenamename è impostata con width = fill_parent quindi non si può mettere nulla alla sua destra;)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top