2011-06-03 63 views
1

我有一個列表視圖與由RelativeLayout指定的項目爲什麼同一相對佈局中的兩個項目有不同的佈局?

有一個圖像(灰色箭頭,這是png,透明填充)。在第一種情況下,背面藍色的文字與此圖像重疊,其次 - 對齊。 這些情況之間唯一的區別是左圖在第一種情況下是不可見的。我不明白爲什麼在第二種情況下藍色文字不會重疊灰色箭頭? (這是可取的行爲)

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="@dimen/padding_content"> 
    <ru.ip_news.ui.views.RationalImage 
    android:id="@+id/picture" 
    android:layout_width="@dimen/article_short_image_width" 
    android:layout_height="fill_parent"/> 
    <View 
    android:id="@+id/separator" 
    android:layout_width="@dimen/padding_content" 
    android:layout_height="fill_parent" 
    android:layout_toRightOf="@id/picture"/> 
    <ImageView 
    android:id="@+id/dis_ind" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:src="@drawable/dis_ind"/> 
    <TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/separator" 
    android:layout_toLeftOf="@id/dis_ind" 
    android:layout_gravity="left" 
    android:textStyle="bold" 
    android:textColor="@color/article_text_main" 
    android:maxLines="2" 
    android:ellipsize="end" 
    android:background="#F0F0"/> 
    <TextView 
    android:id="@+id/description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/separator" 
    android:layout_below="@id/title" 
    android:layout_alignParentBottom="true" 
    android:textColor="@color/article_text_secondary" 
    android:maxLines="4" 
    android:background="#F00F"/> 
</RelativeLayout> 

enter image description here

回答

0

我從來沒有與Android之前的編碼工作,但只是從看你的代碼,我會說有這裏找到android:layout_alignParentRight="true"之間的衝突:

<ImageView 
    android:id="@+id/dis_ind" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:src="@drawable/dis_ind"/> 

和你android:layout_alignParentBottom="true"在這裏找到:

<TextView 
    android:id="@+id/description" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@id/separator" 
    android:layout_below="@id/title" 
    android:layout_alignParentBottom="true" 
    android:textColor="@color/article_text_secondary" 
    android:maxLines="4" 
    android:background="#F00F"/> 

我從來沒有使用過代碼基礎,也沒有爲您提供「解決方案」,但也許它會爲您提供一個起點。

0

由於圖片不再存在於頂視圖中,因此佈局變得越來越小,所以文字視圖更接近。在兩個文本視圖之間放一些邊距以解決問題。

+0

請注意,第一種情況是可取的。所以添加保證金將不起作用。 – Solvek 2011-06-04 10:06:53

0

解決了通過提取linearlayout並將照片移動到其中的問題。出於某種原因,相同佈局中的這張照片涉及文本之間的空間。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="@dimen/padding_content"> 
    <ru.ip_news.ui.views.RationalImage 
     android:id="@+id/picture" 
     android:layout_width="@dimen/article_short_image_width" 
     android:layout_height="fill_parent"/> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingLeft="@dimen/padding_content"> 
     <ImageView 
     android:id="@+id/dis_ind" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:src="@drawable/dis_ind"/> 
     <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/dis_ind" 
     android:layout_gravity="left" 
     android:layout_alignParentLeft="true" 
     android:textStyle="bold" 
     android:textColor="@color/article_text_main" 
     android:maxLines="2" 
     android:ellipsize="end"/> 
     <TextView 
     android:id="@+id/description" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/title" 
     android:layout_alignParentBottom="true" 
     android:textColor="@color/article_text_secondary" 
     android:maxLines="4"/> 
    </RelativeLayout> 
</LinearLayout> 
相關問題