繼承textview類,
首先是構造方法, 兩參()構造是解析布局檔案時呼叫的, 所以相關的操作在這個方法中定義.
在ondraw()方法裡,
使用canvas.drawcircle(float cx, float cy, float radius,
paint paint)方法繪製乙個圓. 圓的顏色由paint引數決定. 在初始化以及設定顏色的方法中設定paint的顏色引數.
使用canvas.drawbitmap(bitmat bitmap, float left, float top, paint paint); 方法繪製背景之上的圖案.
使用validate()方法會造成view的重繪, 並重新呼叫ondraw方法.
附上完整**:
public class mytextview extends textview
public mytextview(context context, attributeset attrs)
public mytextview(context context)
private void init()
@override
public void setbackgroundcolor(int color)
@override
public void ondraw(canvas canvas)
canvas.drawcircle(getwidth() / 2, getheight() / 2, mbgradius, mbgpaint);
if (mforepic != null)
super.ondraw(canvas);
} /**
* 設定前景
* * @param resid
* 資源的id
*/public void setforepic(int resid)
/*** 設定前景
* * @param drawable
*/public void setforepic(drawable drawable)
/*** 設定背景圓形的半徑
* @param radius
*/public void setbackgroundradius(float radius)
自定義圓形Imageview
1 學習一定要善於總結,和敢於使用新的知識 2 一直使用的都是別人寫好的控制項,今天趁著國慶放假有時間,嘗試自己寫經常要用到的框架 3 知識總結 一 用於建立canvas的bitmap不能是已經存在的bitmap 二 這個自定view中遇到乙個坑就是的大小和遮罩大小不匹配是,需要我們對bitmap做...
自定義圓形 ImageView
android預設的imageview是矩形的,為了達到圓形的目的,需要自定義控制項,繼承imageview,重寫ondraw函式。最終效果 具體步驟 1.先根據控制項的短的一邊為半徑繪製乙個圓形 bitmap bitmap bitmapdrawable drawable getbitmap int...
自定義圓形的ProgressBar
1.自定義圓形的progressbar 效果圖 圓形progressbar的樣式主要有以下幾個,我們這裡以progressbarstylelarge為例進行樣式的修改,其他的類似。首先看一下style android attr progressbarstylelarge 的原始碼,在 framewo...