1

我在一个相对布局中相同高度的两个 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

一切都是我需要的,除了两个文本视图名称和信息显示在同一个屏幕空间上,一个在另一个之上。

我怎样才能避免这种情况?

4

2 回答 2

2

对于您的@+id/name TextView,添加右侧android:layout_toLeftOf="..."的任何内容。TextView屏幕截图和 XML 似乎没有对齐(屏幕截图似乎在覆盖的 TextView 中有“距离”,但 XML 没有),所以我不完全确定这是哪个小部件。

如果您的目标是 Android 1.5,则需要在 XML 中对小部件进行排序,以便在从android:layout_toLeftOf或引用它们之前定义小部件android:layout_toRightOf。如果您仅针对 Android 1.6 和更高版本,您可以让它们按任何顺序排列,但任何不同 ID 的第一次出现必须有+符号,即使第一次出现在android:layout_toLeftOf属性而不是android:id属性中也是如此。

于 2010-03-17T15:07:13.337 回答
0

你的 namenamename textview 设置为 width = fill_parent 所以你不能把任何东西放在它的右边;)

于 2010-03-17T14:58:46.967 回答