RelativeLayout TextView覆盖

时间:2011-05-22 09:37:42

标签: android layout textview overlay relativelayout

这是我当前的ListView项目布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="6dp"
android:paddingRight="6dp"
android:paddingBottom="6dp">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="6dp">

    <TextView
        android:id="@+id/departure_line"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:singleLine="true"
        android:textSize="16sp"
        android:textStyle="bold"
        android:shadowColor="#000000"
        android:shadowDx="1"
        android:shadowDy="1"
        android:shadowRadius="1"
        android:paddingLeft="3dp"
        android:paddingRight="3dp" />
</RelativeLayout>

<TextView
    android:id="@+id/departure_destination"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_marginLeft="52dp"
    android:background="#777777"
    android:singleLine="true"
    android:ellipsize="end"
    android:textSize="16sp" />
<TextView
    android:id="@+id/departure_time"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentRight="true"
    android:textSize="16sp" />
 </RelativeLayout>

我的问题是目标TextView覆盖了TextView的时间,就像你在屏幕上看到的那样。如何防止?

http://www.abload.de/image.php?img=screensk6y.png

3 个答案:

答案 0 :(得分:1)

使用属性: 机器人:layout_below = “@ ID /标签”

您可以在一个Relativelayout中执行此操作。并从RelativeLayout中删除orientation属性,它没用。

您可以执行以下操作:

  • 使用LinearLayout,您有属性方向。
  • 使用RelativeLayout并查看layout_below属性

答案 1 :(得分:1)

在您的目的地中使用android:layout_toLeftOf =“@ + id / departure_time”,或者您可以在TableLayout中将它们设置为&gt;

答案 2 :(得分:1)

android:ellipsize="end"
如果文本太长,这将关闭文本。或者你可以做到

android:ellipsize="marquee"

它将像Android市场中的应用程序名称一样滚动。有时你必须抛出

android:singleLine="true"

在那里工作,我也会推荐

android:marqueeRepeatLimit="marquee_forever"

以便在用户第一次错过时继续移动。

Layout TricksTextView ellipsize