在開發(fā)中中我們可能遇到這樣的需求:在一行文字中展示多項數(shù)據(jù)元素杆兵,不能元素有著不同的排列順序雁仲,有的靠左,有的靠右琐脏,有的在某項數(shù)據(jù)的右側攒砖,等等……
比如下圖,在一行文字中顯示簡介日裙、年齡和職業(yè)吹艇。
此時當我們簡介內(nèi)容很長時候,就會擠壓年齡和職業(yè)顯示昂拂,但是這些頁面元素中掐暮,職業(yè)顯示的等級最低,希望擠壓 簡介的顯示政钟,做到如下圖顯示
一般處理這種情況路克,我們可能要手動計算每一個textview的顯示,然后用屏幕寬度減去每一個textview寬度养交,把剩余的空間留給簡介的textview精算。
這里有有個簡單的處理方式:通過weight和space來實現(xiàn),很容易讀懂碎连,就不做代碼分析灰羽。
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="簡介:" />
<TextView
android:id="@+id/txt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:text="1234567890" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 年齡:30" />
</LinearLayout>
<android.support.v4.widget.Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" 職業(yè):IT" />
</LinearLayout>