android銀行卡操作步驟

[復制鏈接]
來自: AlonMessi 分類: Android精品源碼 上傳時間: 2017-12-21 10:32:32
Tag:

項目介紹:

繼承View 實現自定義屬性(不知道自定義屬性的百度)

public BootStepView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// 加載自定義屬性集合BootStepView
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.BootStepView);
// 解析集合中的屬性屬性
// 將解析的屬性傳入到畫圓的畫筆顏色變量當中(本質上是自定義畫圓畫筆的顏色)
// 第二個參數是默認設置顏色(即無指定情況下使用)
circularColor = typedArray.getColor(R.styleable.BootStepView_circular_color, Color.RED);
circularSize=typedArray.getDimensionPixelSize(R.styleable.BootStepView_circular_size,16);
circularTextSize=typedArray.getDimensionPixelSize(R.styleable.BootStepView_circular_text_size,60);
circularTextColor= typedArray.getColor(R.styleable.BootStepView_circular_text_color, Color.WHITE);
....
}

在onMeasure()對View的寬高進行測量

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
// 獲取寬-測量規則的模式和大小
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
int widthSize = MeasureSpec.getSize(widthMeasureSpec);
// 獲取高-測量規則的模式和大小
int heightMode = MeasureSpec.getMode(heightMeasureSpec);
int heightSize = MeasureSpec.getSize(heightMeasureSpec);
int width=480;
int height=240;
if (widthMode == MeasureSpec.AT_MOST && heightMode == MeasureSpec.AT_MOST) {
setMeasuredDimension(width, height);
} else if (widthMode == MeasureSpec.AT_MOST ) {
setMeasuredDimension(width, heightSize);
}else if(heightMode== MeasureSpec.AT_MOST){
setMeasuredDimension(widthSize, height);
}
}
   ## 在onDraw()實現
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 獲取傳入的padding值
final int paddingLeft = getPaddingLeft();
final int paddingRight = getPaddingRight();
final int paddingTop = getPaddingTop();
final int paddingBottom = getPaddingBottom();
int width=getWidth();
//開始繪制第一個圓
int oneX=paddingLeft+circularSize*2;
canvas.drawCircle(oneX,paddingTop,circularSize,paint);
//開始繪制數字1
paint.setColor(circularTextColor);
paint.setTextSize(circularTextSize);
canvas.drawText("1",oneX-circularTextSize/3,paddingTop+circularTextSize/3,paint);
//開始繪制第一個線條
paint.setColor(isTwoColor?circularColor:defaultColor);
canvas.drawLine(oneX+circularSize,paddingTop,width/2-circularSize,paddingTop,paint);
...
}

相關源碼推薦:

我來說兩句
所有評論(106)
myself2015 2017-12-21 10:37:28
幫幫頂頂!!
回復
ricktians 2017-12-21 10:55:18
幫幫頂頂!!
回復
tylz 2017-12-21 11:00:19
感謝分享,樓主V5~
回復
apkbus熱心網友 2017-12-21 11:02:10
正需要啊,感謝樓主無私分享!
回復
wo122282967 2017-12-21 11:05:21
雖不明,但覺厲!
回復
kk041kk 2017-12-21 11:23:12
樓主威武,以后多發干貨,多辦活動~!
回復
youngth110 2017-12-21 11:31:43
幫幫頂頂!!
回復
提取碼:  下載次數:56 狀態:已購或VIP 售價:15(原價:15)金錢 下載權限:初級碼農 
5924 1 56
代碼貢獻英雄榜
用戶名 下載數
聯系我們
首頁/微信公眾賬號投稿
帖子代碼編輯/版權問題
QQ:435399051,1294855032
如何獲得代碼達人稱號?
如何成為簽約作者?
領先的中文移動開發者社區
18620764416
7*24全天服務
意見反饋:[email protected]

掃一掃關注我們

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粵ICP備15117877號 )

时时彩改欢乐生肖 卡车之家吧货车能赚钱 188足彩比分直播 天津快乐10分 3d开机号今天近100期 重庆时时彩龙虎手机版 广东11选5前三杀号技巧 网上兼职哪种最赚钱 青海11选5基夲走势图 摩尘娱乐首页 重庆百变王牌 股票涨跌幅排行榜 棚户区改造政府赚钱吗 好运彩3 牌九规则 体育彩票排列三 港龙彩票首页