2015-10-19 87 views
-3

我米具有自定義列表用於聊天應用程序。TextView的重疊在RelativeLayout的

它在兩側和TextView的在中間的「聊天消息」基本上有兩種ImageView的。 下面所有的三個在底部都有textview的時間。 下面的屏幕截圖更好。

這裏的問題是TextView的是在ImageView的重疊,如果「聊天消息」的文本只是線的時間。

這個問題更好地與HTML,CSS修正爲浮動明確:兩個。

我對LinearLayout here中的嵌套RelativeLayout進行了另一個解答,但我想用一個RelativeLayout保持它的乾淨。

佈局XML是如下 -

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<ImageView 
    android:id="@+id/icon1" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:src="@mipmap/ic_launcher" /> 

<TextView 
    android:id="@+id/msgText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:gravity="bottom" 
    android:textSize="20sp" 
    android:layout_marginLeft="42dp" 
    android:layout_marginRight="42dp" 
    android:text="this is a test" /> 

<ImageView 
    android:id="@+id/icon2" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:layout_alignParentRight="true" 
    android:src="@mipmap/ic_launcher" /> 

<TextView 
    android:id="@+id/timeText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="40px" 
    android:layout_marginTop="10dp" 
    android:layout_below="@+id/msgText" 
    android:layout_alignParentRight="true" 
    android:gravity="right" 
    /> 
</RelativeLayout> 

下面這個屏幕快照 -

enter image description here

+0

我不看不到任何屏幕截圖... –

+0

可能與你的某些概率有關瀏覽器。此處 - http://i.stack.imgur.com/lAWim.png –

回答

1

你有這樣的:

機器人:layout_below =「@ + ID/MSGTEXT」

改成這樣:

機器人:layout_below = 「@ ID/ICON2」

編輯

放一個了minHeight你的消息的TextView等於圖像高度不要按照我上面告訴你的方式改變。

+0

然後將其與MSGTEXT重疊,如果這是多行。無論哪種方式,它都與某些東西重疊。 –

+0

查看我的編輯請 – luiscosta

+0

不錯!!!不知何故,沒有注意到minHeight –

1

您應該使用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:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <ImageView 
      android:id="@+id/avatar" 
      android:layout_width="50dp" 
      android:background="#ff0000" 
      android:layout_height="50dp" /> 

     <TextView 
      android:id="@+id/content" 
      android:layout_width="0dp" 
      android:text="content here" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/date" 
     android:layout_width="match_parent" 
     android:text="date here" 
     android:layout_height="wrap_content" /> 

</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:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/content" 
      android:layout_width="0dp" 
      android:text="content here" 
      android:gravity="right" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" /> 

     <ImageView 
      android:id="@+id/avatar" 
      android:layout_width="50dp" 
      android:background="#ff0000" 
      android:layout_height="50dp" /> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/date" 
     android:layout_width="match_parent" 
     android:text="date here" 
     android:layout_height="wrap_content" /> 

</LinearLayout>