2015-10-19 78 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>