国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android仿支付寶密碼輸入效果封裝

2019-12-12 01:33:11
字體:
來源:轉載
供稿:網友

模仿支付寶輸入效果,實現很簡單,就是畫個矩形框和圓形,其他的通過組合view來實現所有功能,雖然簡單但是封裝起來,方便以后使用,也分享一下,希望對別人也有點幫助。

1、如何使用,可以設置自己的進入退出動畫,不設置則沒有動畫效果,自己覺得封裝之后還是非常用好的。

private MyInputPwdUtil myInputPwdUtil;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myInputPwdUtil = new MyInputPwdUtil(this); myInputPwdUtil.getMyInputDialogBuilder().setAnimStyle(R.style.dialog_anim); //可以定制自己進入退出動畫,不設置沒有動畫 myInputPwdUtil.setListener(new InputPwdView.InputPwdListener() { @Override public void hide() {  myInputPwdUtil.hide(); } @Override public void forgetPwd() {  Toast.makeText(MainActivity.this, "忘記密碼", Toast.LENGTH_SHORT).show(); } @Override public void finishPwd(String pwd) {  Toast.makeText(MainActivity.this, pwd, Toast.LENGTH_SHORT).show(); } });}public void show(View view){ myInputPwdUtil.show();}

2、輸入框實現主要代碼,就是繪制矩形和中間的圓形而已。

 int height = getHeight(); int width = getWidth(); //畫邊框 RectF rect = new RectF(0, 0, width, height); borderPaint.setColor(borderColor); canvas.drawRoundRect(rect, borderRadius, borderRadius, borderPaint); //畫內容區域 RectF rectContent = new RectF(rect.left + defaultContentMargin, rect.top + defaultContentMargin, rect.right - defaultContentMargin, rect.bottom - defaultContentMargin); borderPaint.setColor(getResources().getColor(R.color.myInputPwdBase_gray)); canvas.drawRoundRect(rectContent, borderRadius, borderRadius, borderPaint); //畫分割線:分割線數量比密碼數少1 borderPaint.setColor(borderColor); borderPaint.setStrokeWidth(defaultSplitLineWidth); for (int i = 1; i < passwordLength; i++) { float x = width * i / passwordLength; canvas.drawLine(x, 0, x, height, borderPaint); } //畫密碼內容 float px, py = height / 2; float halfWidth = width / passwordLength / 2; for (int i = 0; i < textLength; i++) { px = width * i / passwordLength + halfWidth; canvas.drawCircle(px, py, passwordWidth, passwordPaint); }

3、作為library的module,在定義使用到的屬性的時候最好特別能區分開,設置特定的開頭,這樣能避免引入自己的工程之后導致沖突。

如有bug,謝謝指出。

源碼下載

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永顺县| 麟游县| 泾源县| 山东省| 中卫市| 舞阳县| 江北区| 青神县| 海城市| 苗栗市| 东莞市| 蛟河市| 徐闻县| 梅河口市| 漾濞| 阳城县| 日照市| 郴州市| 轮台县| 本溪市| 特克斯县| 化德县| 高台县| 永昌县| 陆川县| 南宫市| 宁城县| 乌鲁木齐市| 舒兰市| 黄龙县| 宜君县| 平陆县| 上饶县| 宜城市| 浮山县| 中阳县| 漳州市| 原平市| 武宁县| 囊谦县| 汝阳县|