1

RelativeLayout で同じ高さの 2 つの Textview が互いに衝突するという問題があります。

次のレイアウトを使用します。

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

これにより、次のように表示されます。

代替テキスト http://janusz.de/~janusz/view.png

2つのテキストビューの名前と情報が同じ画面スペースに表示され、一方が他方の上に表示されることを除いて、すべてが必要なとおりです。

どうすればこれを回避できますか?

4

2 に答える 2

2

あなたの場合は、右側にあるもの@+id/name TextViewを追加してください。スクリーンショットと XML が一致していないようです (スクリーンショットでは、上書きされた TextView に「距離」があるように見えますが、XML にはありません)、これがどのウィジェットであるかは完全にはわかりません。android:layout_toLeftOf="..."TextView

android:layout_toLeftOfAndroid 1.5 をターゲットにしている場合は、またはから参照される前にウィジェットが定義されるように、XML でウィジェットを並べ替える必要がありますandroid:layout_toRightOf。Android 1.6 以降のみをターゲットにしている場合は、任意の順序で並べることができますが、最初の出現が属性ではなく属性+であっても、最初に出現する個別の ID には符号が必要です。android:layout_toLeftOfandroid:id

于 2010-03-17T15:07:13.337 に答える
0

namenamename textview は width = fill_parent で設定されているため、右に何も配置できません;)

于 2010-03-17T14:58:46.967 に答える