1
我正在設計一個應該類似於whatsapp風格的聊天界面的聊天項目,但問題是左側約束似乎不起作用。約束佈局指南不起作用
這是我的代碼。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.constraint.Guideline
android:id="@+id/left_guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.20" />
<LinearLayout
android:id="@+id/chat_bubble"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/chat_sender_bubble"
android:orientation="vertical"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toRightOf="@id/left_guideline"
app:layout_constraintRight_toRightOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginEnd="22dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="22dp"
android:layout_marginStart="10dp"
android:layout_marginTop="5dp"
android:orientation="vertical">
<ImageView
android:id="@+id/sender_image"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginBottom="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:adjustViewBounds="true"
android:background="@color/transparent"
android:scaleType="center"
android:src="@mipmap/ic_launcher"
android:visibility="gone" />
<TextView
android:id="@+id/sender_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_marginBottom="5dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:text="This is a really long message that could cross the
left guideline."
android:textColor="@color/senderBubbleTextColor" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/sender_timestamp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="27th june, 2017"
android:textColor="@color/senderBubbleTextColor"
android:textSize="12sp" />
<ImageView
android:id="@+id/synced"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="3dp"
android:layout_marginStart="3dp"
android:src="@drawable/clock"
android:tint="@color/senderBubbleTextColor" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</android.support.constraint.ConstraintLayout>
我已經設置了一個0.20的左準則,所以應該不會越過這一點,但如果有一個很長的消息,它does.If有寫XML這將是非常有幫助的更好的方法。