1. 程式人生 > >設定Textview的Drawableleft、Drawableright 等圖片與文字間距、位置和大小的方法

設定Textview的Drawableleft、Drawableright 等圖片與文字間距、位置和大小的方法

給自己記錄點筆記順便也給用的著的朋友給點參考


設定Textview的Drawableleft 等圖片的間距的問題 
以Textview舉例 想得到如下圖的Textview效果



public class MyText extends TextView {


    public MyText(Context context) {
        super(context);
    }

    public MyText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onDraw(Canvas canvas) {

        //得到Drawable集合  分別對應 左上右下
        Drawable[] drawables = getCompoundDrawables();
        if (drawables != null) {
            //獲取右邊圖片
            Drawable drawableRight = drawables[2];
            if (drawableRight != null) {
                //獲取文字佔用長寬
                int textWidth = (int) getPaint().measureText(getText().toString());

                int textHeight = (int) getPaint().getTextSize();
                //獲取圖片實際長寬
                int drawableWidth  = drawableRight.getIntrinsicWidth();
                int drawableHeight = drawableRight.getIntrinsicHeight();
                //setBounds修改Drawable在View所佔的位置和大小,對應引數同樣的 左上右下()
                drawableRight.setBounds(((textWidth-getWidth())/2),(textHeight-drawableHeight)/2,((textWidth-getWidth())/2)+drawableWidth,(textHeight+drawableHeight)/2);

            }
        }
        super.onDraw(canvas);
    }
}

相關推薦

設定Textview的DrawableleftDrawableright 圖片文字間距位置大小方法

給自己記錄點筆記順便也給用的著的朋友給點參考設定Textview的Drawableleft 等圖片的間距的問題 以Textview舉例 想得到如下圖的Textview效果public class MyText extends TextView {    public MyT

設定drawableRight圖片文字間隔太遠解決小竅門

最近專案遇到,四個Tab選項,其中一個Tab涉及到排序,因此需要給RadioButton加上兩張圖片表示升序或者降序。但是 用drawableRight加上圖片之後,圖片離總是在邊上,離文字太遠。百度了半天,可以給android:drawablePadding一個負值,本以

交換Button中圖片文字的左右位置

預設情況下,button的image和label是緊貼著居中的,那如果想要image在右邊,label在左邊應該怎麼辦呢? 答案就是: // 交換button中title和image的位置 CGFloat labelWidth = modelButton.t

Android動態佈局,並動態為TextView控制元件設定drawableLeftdrawableRight屬性新增圖示

注:(圖中每一個條目和圖示都是由程式碼動態生成) 程式碼動態佈局,並需要為每一個條目設定圖示,此時用到了 android:drawableLeft="@drawable/icon" 父x

關於圖片文字在一行顯示時,文字的垂直方向位置設定

對於img標籤中的verticle-align的屬性值只是為了去除其預設的屬性-baseline,其預設為基線對齊即圖片底層對齊,只要將其屬性值設為其他值,就可以對文字進行豎直方向的 位置設定,一般設定其line-height屬性,(在這之前要對行屬性標籤轉為在一行顯示的

UIButton圖片文字控制元件位置自定義(圖片居右文字居左圖片居中文字居中圖片居左文字消失)

在開發中經常會碰到需要對按鈕中的圖片文字位置做調整的需求。 第一種方式是通過設定按鈕中圖片文字的偏移量。通過方法setTitleEdgeInsets和setImageEdgeInsets實現 程式碼如下: /*!**方式一***/ - (void)updateBtnSty

更改控件中DrawableLeft圖片大小圖片文字的距離

ddr 參數 lai plain 設置 draw com 獲取圖片 color Drawable drawable=getResources().getDrawable(R.drawable.xx); //獲取圖片   drawable.setBounds(left, to

【Java】基礎:常見修飾符(權限修飾符以及abstractstaticfinal變量的描述

線程 cte string 數據 執行 style 權限 實例 類名 1. 修飾符 public、protected、private、default abstract、static、final、 abstract:抽象類、抽象方法 static:靜態變量、

圖片文字排版-flex

情景:你的文字用了span標籤,你的圖片用了img標籤,此時你需要的排版並不是預設情況的,接下來怎麼辦( 預設情況已經在上一篇部落格展示請檢視) 文字左邊且與上邊距對齊                &nb

QtCreator中構建qmake執行清理區別聯絡

qmake:根據實際環境建立專案檔案.pro   並且執行qmake生成適當的Makefile,並且執行qmake[qmake xx.pro]生成除錯[build-ttt-4_8_6-Debug]或者釋出[build-ttt-4_8_6-Release]目錄,裡面含有qmake後

銷售寶:ERPSCMCRM其他企業應用系統的關係區別是什麼?

SCM供應鏈管理主要是針對供應商的,注意,不考慮供應商因素的採購交付配送活動,都不能稱為供應鏈(我可能比較極端)。 SCM中主要是供應商生產資料的情況,比如供應商庫存,排產計劃等等,我們向供應商發起的採購資料,對方據此的響應,貨物在途中的情況(比如溫控,溼度,位置),採購計劃,倉儲交付,

C++儲存BItmapJpgpng圖片方法

1.擁有RGB資料直接將資料寫出為.bmp檔案 void  Save_bmp(const vector<char>& data) {     BITMAPFILEHEADER     bmfHdr;     BITMAPINFOHEADER    

tablayout實現新增圖片文字

現在專案使用Tablayout實現新增文字與圖片一起,點選某項是,實現文字更換顏色,圖片更換。 具體實現效果。 下面貼出具體實現程式碼: 佈局檔案 icon_view: <?xml version="1.0" encoding="utf-8"?> <com.

image 控制元件載入bmpJPGGIFPNG圖片的辦法

procedure TForm1.Button1Click(Sender: TObject); var jpg: TJPEGImage; // 要use Jpeg單元 png: tpngimage; gif: tgifimage; begin jpg := TJPEGImage.Cr

jpgpngsvggif圖片格式的區別

做了這麼久前端,圖片格式的區別你知道嗎?騰訊視訊面試問的原題哦 JPEG JPEG格式:也是應用最廣泛的圖片格式之一,它採用一種特殊的有失真壓縮演算法,將不易被人眼察覺的影象顏色刪除,從而達到較大的壓縮比(可達到2:1甚至40:1),因為JPEG格式的檔案尺寸較小,下載速度快,

Android Glide載入圖片時轉換為圓形圓角毛玻璃圖片效果

Android Glide載入圖片時轉換為圓形、圓角、毛玻璃等圖片效果 附錄1簡單介紹了Android開源的圖片載入框架。在實際的開發中,雖然Glide解決了快速載入圖片的問題,但還有一個問題懸而未決:比如使用者的頭像,往往使用者的頭像是從伺服器端讀出的一個普通矩形圖片

Andorid中如果在TextView中用drawable新增圖片,怎麼能改變圖片文字的距離

android:drawablePadding     //設定text與drawable(圖片)的間隔,與drawableLeft、drawableRight、drawableTop、drawabl

用CImage類來顯示PNGJPG圖片

系統環境:Windows 7 軟體環境:Visual Studio 2008 SP1 本次目的:實現VC單文件、對話方塊程式顯示圖片效果       CImage 是VC.NET中定義的一種MFC/ATL共享類,也是ATL的一種工具類,它提供增強型的(DDB和DIB)點陣

CSS下劃線文字間距,下劃線粗細以及下劃線顏色的設定

最開始的時候瞭解下劃線的屬性是:text-decoration:underline;1但是,很遺憾的是,對於設計做的下劃線用瀏覽器預設屬性樣式很難調整,使用這個屬性並不能調整下劃線與文字的間距,而且對於下劃線的顏色也不好調整,而使用<u></u>這個標

ImageLoader載入圖片文字

//main方法 import android.support.annotation.IdRes; import android.support.v4.app.Fragment; import android.support.v4.app.Fragmen