前段时间接到一个需求:
需求截图两个TextView靠近显示,第一个textView长度不定,总的长度不定;
在考虑了一段时间后才想到下面这个方案,记录一下.
核心在于利用margin可以为负,通过margin巧妙的将前一个Textview的总长度进行限定,将右侧TextView根据负的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无相应方案
网友评论