學(xué)習(xí)初衷:在工作實(shí)際開發(fā)過程中,原有的安卓控件已不能滿足實(shí)際的功能需求,而且有些應(yīng)用還需要一些獨(dú)特的展示效果,這時(shí)就需要自定義控件來定制控件去滿足我們的需求了。
成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十多年以來,已經(jīng)為成百上千成都辦公空間設(shè)計(jì)各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的成百上千客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。
自定義控件的步驟
public class CustomView extends View{}
public CustomView(Context context,AttributeSet attrs){ //Attribute屬性,布局文件里設(shè)置的自定義屬性 //attrs必須傳給父類,好讓父類知道具體要繪制的參數(shù) super(context,attrs); }
@Override protected void onDraw(Canvas canvas){ //畫背景,新建一個(gè)畫筆 Paint pain=new Paint(); paint.setTextSize(48); paint.setColor(Color.RED); //創(chuàng)建矩形,這時(shí)需要一個(gè)矩形的寬度與高度,viewWidth,viewHeight的值通過下面步驟得到 Rect rect=new Rect(0,0,viewWidth,viewHeight); //繪制一個(gè)矩形,參數(shù)是矩形對象與畫筆對象 canvas.drawRect(rect,paint); }
int viewHeight,viewWidth; @Override protected void onSizeChanged(int w,int h,int oldw,int oldh){ //當(dāng)界面改變時(shí),即切屏?xí)r當(dāng)前的寬度與高度 super.onSizeChanged(w,h,oldw,oldh); viewHeight=h; viewWidth=w; }
最后得到的是一個(gè)紅色背景的圖
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接