实现后的如图:
发送的时候有个圆形的进度条和进度,发送失败显示ImageView,对方读了这条消息,显示已读。
<?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:gravity="center_horizontal"
android:orientation="vertical"
android:paddingTop="13dp" >
<TextView
android:id="@+id/timestamp"
style="@style/chat_text_date_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_chat_activity" >
<ImageView
android:id="@+id/iv_userhead"
android:layout_width="@dimen/size_avatar"
android:layout_height="@dimen/size_avatar"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="@dimen/margin_chat_activity"
android:background="@drawable/mini_avatar_shadow"
android:scaleType="fitXY" />
<RelativeLayout
android:id="@+id/rl_picture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/margin_chat_activity"
android:layout_toLeftOf="@id/iv_userhead" >
<ImageView
android:id="@+id/iv_sendPicture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/chatto_bg"
android:scaleType="fitCenter"
/>
</RelativeLayout>
<LinearLayout
android:id="@+id/ll_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_toLeftOf="@id/rl_picture"
android:gravity="center"
android:orientation="vertical" >
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleSmall"
android:layout_width="28dp"
android:layout_height="28dp"
android:visibility="visible" />
<TextView
android:id="@+id/percentage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0%"
android:textColor="@android:color/black"
android:visibility="visible" />
</LinearLayout>
<ImageView
android:id="@+id/msg_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/rl_picture"
android:clickable="true"
android:src="@drawable/msg_state_failed_resend"
android:visibility="gone" />
<TextView
android:id="@+id/tv_ack"
style="@style/chat_text_name_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/rl_picture"
android:text="@string/text_ack_msg"
android:textSize="12sp"
android:visibility="invisible" />
<TextView
android:id="@+id/tv_delivered"
style="@style/chat_text_name_style"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="@string/text_delivered_msg"
android:textSize="12sp"
android:layout_toLeftOf="@id/tv_chatcontent"
android:visibility="invisible"
/>
</RelativeLayout>
</LinearLayout>