android中Textview 和圖片同時顯示時,文字省略號顯示,圖片自動靠到右邊


 

          

              很糾結的一個標題,實在是不知道怎么去描述這個現象。

              上圖片吧,先看看需求是什么樣的。

         1.需求:

                 視頻與票的圖標跟在標題后面顯示,當標題過長時icon顯示到省略號…后(textview省略號顯示,圖標自動靠后)。

 

                clipboard

                clipboard[1]

       

           

          2. 問題解決

           本來是一個很正常的需求,看起來很簡單,但是做起來卻遇到了很蛋疼的問題,怎么搞的都不行,堵了很長時間,下面說一下解決方案,遇到這樣問題的朋友可以使用。

              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);
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM