1. 程式人生 > >關於 Paint和TextPaint的個人理解

關於 Paint和TextPaint的個人理解

Paint是TextPaint的父類,TextPaint從名字來看是用來處理文字的。

在TextView及其子類中可以通過getPaint()獲得TextPaint物件。

在TextView中一般有兩種顏色,一個是背景顏色,一個是字型顏色,Paint控制背景顏色,TextPaint控制字型顏色。

一般來說繪製圖像是設定Paint屬性然後在Canvas上操作並顯示出來,但是通過getPaint()獲得TextPaint物件後可以直接進行操作無需通過Canvas即可顯示效果。

例如以下程式碼:

1、TextView tv = (TextView)findViewById(R.id.tv);
      tv.getPaint().setFakeBoldText(true);//設定粗體效果

2、

    int mViewWidth = getMeasuredWidth();

    Paint mPaint = getPaint();
    LinearGradient  linearGradient = new LinearGradient(0, 0, mViewWidth, 0, new int[]{Color.BLUE,0xffffffff,Color.BLUE} ,null, Shader.TileMode.CLAMP);
    mPaint.setShader(linearGradient);