12/08/2018, 14:38

Make PIN input view in Android

Bạn đã từng làm việc với Edittext trong Android? Chắc hẳn ai cũng có lần từng làm một form input nào đó như là Nhập tên, nhập điện thoại, nhập số linh tờ tinh nào đó, hoặc 1 form input password chẳng hạn... Và bạn đã từng làm một PIN input view như nầy hay như nầy Khi gặp form input như ...

Bạn đã từng làm việc với Edittext trong Android? Chắc hẳn ai cũng có lần từng làm một form input nào đó như là Nhập tên, nhập điện thoại, nhập số linh tờ tinh nào đó, hoặc 1 form input password chẳng hạn... Và bạn đã từng làm một PIN input view như nầy

hay như nầy

Khi gặp form input như vậy chúng ta thường nghĩ ngay đến việc sử dụng nhiều Edittext và mỗi Edittext sẽ chứa một ký tự, với PIN 5 thì 5 Edittext, PIN 6 thì 6 Edittext, cứ thế mà triển so easy :v Nhưng khi làm như vậy, bạn có bị gặp phải trường hợp ta bấm nhanh 1 2 3 4 5 thì chỉ nhận được 1 3 5, hay bạn thấy softkeyboard thật là "cứng" - các phím bấm không nhạy, cảm thấy các phím có vẻ hơi là bị delay ???

Mình từng phải làm PIN input view như trên và cũng đã xử lý tình huống như trên, và mình cũng gặp phải vấn đề tương tự, khi bấm các ký tự, cứ mỗi lần con trỏ nhảy từ Edittext này sang Edittext khác là cảm thấy sự delay, hơi cứng, nếu mình bấm nhanh thì sẽ không thể nhận đủ số ký tự đã bấm, và bấm không được mượt, khi muốn hiển thị chính xác những gì đã bấm thì mình buộc phải bấm chậm đi, như vậy cảm giác bấm sẽ không được tốt :-ss Vậy phải làm sao mới mượt đây? Và mình đã tìm hiểu được một cách khá là hay ho, giải quyết được các vấn đề trên, và khá là đơn giản: PIN 5 thì 6 Edittext, PIN 6 thì 7 Edittext :v

Cụ thể đối với PIN 5 thì mình sẽ sử dụng 5 Edittext tương ứng để hiển thị và một Edittext trong suốt để xử lý các thao tác input từ softkeyboard.

Tùy vào loại input mà các bạn muốn mà các bạn có thể setting phù hợp, ở đây mình sẽ setting theo ý mình             </div>
            
            <div class=

0