一、需求:
標題可能寫的不夠全部,下面來看下圖片,大家就明白是什麼意思了。視頻與票的表徵圖跟在標題後面顯示,當標題過長時icon顯示到省略符號…後(textview省略符號顯示,表徵圖自動靠後)。
二、問題解決
TextView可以通過 android:ellipsize="end" android:singleLine="true"
實現單行省略,
但是當我們要是表徵圖跟著文字後面,第一時間想到用LinearLayout
的layout_weight
來做,但是做出來效果不一樣。
後來竟然忘記這個屬性了:指定TextView
的最大寬度實現自動省略 android:maxWidth="90dp"
,加上這個就解決了。
但是問題來了,這個值不能寫成固定的,要根據螢幕進行適配。可以計算螢幕的寬度,然後動態進行數值的添加。
代碼如下:
// 進行計算螢幕寬度,動態顯示 DisplayMetrics dm = new DisplayMetrics(); ((Activity) mContext).getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; holder.tv_postbar_item_title.setMaxWidth(width - UIUtils.getPixels(TypedValue.COMPLEX_UNIT_DIP, 78));
裡面使用的px轉換類為:
public static int getPixels(int Unit, float size) { DisplayMetrics metrics = Resources.getSystem().getDisplayMetrics(); return (int) TypedValue.applyDimension(Unit, size, metrics); }
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。