前段時間接到一個需求:
兩個TextView靠近顯示,第一個textView長度不定,總的長度不定;

需求截圖
在考慮了一段時間后才想到下面這個方案,記錄一下.
核心在于利用margin可以為負,通過margin巧妙的將前一個Textview的總長度進行限定,將右側(cè)TextView根據(jù)負的margin顯示出來.
<TextView
android:id="@+id/shopname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="長城娛樂長城娛樂長城娛樂長城娛樂長城娛樂長城娛樂長城娛樂長城娛樂長城娛樂"
android:textColor="#161718"
android:layout_marginRight="40dp"
android:textSize="16sp"/>
<TextView
android:layout_marginLeft="-40dp"
android:id="@+id/audstatus_text"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="成功"
android:textColor="#646464"
android:textSize="14sp"/>
補充普通方案的缺點:
- 前一個TextView用weight
在文字比較少時,兩個TextView不能緊貼 - 前一個TextView用wrapcontent
后一個TextView會沒有空間顯示 - RelativeLayout和ConstrainLayout無相應(yīng)方案