Android 仿支付寶密碼輸入框效果_Android

來源:互聯網
上載者:User

模仿支付寶輸入效果,實現很簡單,就是畫個矩形框和圓形,其他的通過組合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() {@Overridepublic void hide() {myInputPwdUtil.hide();}@Overridepublic void forgetPwd() {Toast.makeText(MainActivity.this, "忘記密碼", Toast.LENGTH_SHORT).show();}@Overridepublic 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);//畫分割線:分割線數量比密碼數少1borderPaint.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,在定義使用到的屬性的時候最好特別能區分開,設定特定的開頭,這樣能避免引入自己的工程之後導致衝突。

以上所述是小編給大家介紹的Android 仿支付寶密碼輸入框效果,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.