2012-11-13 58 views
0

我有一個的LinearLayout內的RelativeLayout,我用它來顯示一些數據:的RelativeLayout toLeftOf

<LinearLayout 
    android:id="@+id/linearLayout4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="3dp" 
    android:layout_marginTop="3dp" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="3dp" 
     android:ellipsize="end" 
     android:maxLines="1" 
     android:textSize="16dp" 
     android:textStyle="bold" /> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/time" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:singleLine="true" /> 

     <ImageView 
      android:id="@+id/uhr" 
      android:layout_width="20dp" 
      android:layout_height="20dp" 
      android:layout_gravity="left" 
      android:layout_marginLeft="2dp" 
      android:layout_toRightOf="@id/time" 
      android:src="@drawable/event_clock" /> 
    </RelativeLayout> 

    <TextView 
     android:id="@+id/description" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="3dp" 
     android:autoLink="web|email" 
     android:textSize="14dp" /> 
</LinearLayout> 

的問題是,我希望我的ImageView的左側和TextView的旁邊吧。 但是,如果我將android:layout_toRightOf="@id/time"更改爲android:layout_toLeftOf="@id/time"它只顯示TextView,但ImageView消失。

回答

4

只要把layout_toRightOf上的TextView則:

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/time" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@+id/uhr" 
     android:gravity="center_vertical" 
     android:singleLine="true" /> 

    <ImageView 
     android:id="@+id/uhr" 
     android:layout_width="20dp" 
     android:layout_height="20dp" 
     android:layout_gravity="left" 
     android:layout_marginLeft="2dp" 
     android:src="@drawable/event_clock" /> 
</RelativeLayout> 
+0

哇OK真奇怪,那些沒有工作昨天(總是給我的錯誤,不會編譯),今天它的工作原理。沒有更改任何代碼,同一臺計算機等。非常感謝您的幫助! – user754730

+0

這個「解決方案」有時候起作用,有時它不起作用。我有一個類似的佈局,但有兩個EditText,我想要一個圖像在這些EditTexts的左側。它不適用於圖像上的「toLeftOf」,但如果將其設置在第一個EditText上,它將與「toRightOf」一起使用。但是,如果我嘗試相同的操作,即在第二個EditText上設置「toRightOf」,它將不起作用 - 第二個圖像不會顯示。 – Ted

+0

您是否確定在實際使用ID後不會出現ID聲明問題?確保您始終始終使用「@ + id/...」符號(而不是「@id/...」) – fiddler