一、需求:
標題可能寫的不夠全部,下面來看下圖片,大家就明白是什么意思了。視頻與票的圖標跟在標題后面顯示,當標題過長時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); }總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點
疑難解答