Android高仿微信支付密碼輸入控制項實例代碼
這篇文章主要為大家詳細介紹了Android高仿微信支付密碼輸入控件的具體實現代碼,供大家參考,具體內容如下
像微信支付密碼控件,在app中是一個多麼司空見慣的功能。 ##老樣子,投籃需要找準角度,變成需要理清思路。出來。到這個
密碼框
for (int i = 0; i 我們這裡密碼長度設定為6,將這6個密碼框控制項新增到盛裝這些控制項的父控制項中去,且每個密碼控制項中都有一個分隔控制項。然後了,我們利用Gridview產生一個12宮格的類比數字鍵盤,這樣模擬鍵盤樣子是這樣的: <p style="text-align: left;"><a href="http://www.php.cn/code/5978.html" target="_blank"></a></p><p style="text-align: left;">原始碼應該是這樣的: </p><pre class="brush:php;toolbar:false"> /** * 加载数据的代码 */ private void initData() { /* 初始化按钮上应该显示的数字 */ for (int i = 1; i map = new HashMap<string>(); if (i parent, View view, int position, long id) { if (position = -1 && currentIndex = -1) { // 判断是否删除完毕————要小心数组越界 tvList[currentIndex--].setText(""); } } } } }); } /** * GrideView的适配器 */ BaseAdapter adapter = new BaseAdapter() { @Override public int getCount() { return valueList.size(); } @Override public Object getItem(int position) { return valueList.get(position); } @Override public long getItemId(int position) { return position; } @SuppressWarnings("deprecation") @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { convertView = View.inflate(context, R.layout.item_gride, null); viewHolder = new ViewHolder(); viewHolder.btnKey = (TextView) convertView .findViewById(R.id.btn_keys); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.btnKey.setText(valueList.get(position).get("name")); if (position == 9||position==11) { viewHolder.btnKey.setBackgroundDrawable(Utils.getStateListDrawable(context)); viewHolder.btnKey.setEnabled(false); } if (position == 11) { viewHolder.btnKey.setBackgroundDrawable(Utils.getStateListDrawable(context)); } return convertView; } }; /** * 存放控件 */ public final class ViewHolder { public TextView btnKey; }</string>
登入後複製
載入模擬鍵盤上的資料為0-9與x,然後將這個資料透過一個轉接器將這些資料填入這個Gridview控制項 這些都是老駕駛的老套路。的底部彈出,我在這裡所做的就是將Gridview依附在popupwindow,然後在從螢幕的底部進行彈出。 #最後,我們要做的就是監聽模擬鍵盤,將這個模擬鍵盤的輸入填入到密碼框,說的貌似很高大上的,其實就是監聽Gridview的onitemclick事件,對應代碼如下:
View contentView = LayoutInflater.from(context).inflate( R.layout.layout_popupdemo, null);// 定义后退弹出框 gridView = (GridView) contentView.findViewById(R.id.gv_keybord);// 泡泡窗口的布局 popupWindow = new PopupWindow(contentView, ViewGroup.LayoutParams.MATCH_PARENT,// width ViewGroup.LayoutParams.WRAP_CONTENT);// higth popupWindow.setFocusable(false); popupWindow.setAnimationStyle(R.style.animation); //从底部弹出 public void show() { popupWindow.showAtLocation(rl_bottom, Gravity.BOTTOM, 0, 0); // 确定在界面中出现的位置 } @Override public void onWindowFocusChanged(boolean hasWindowFocus) { super.onWindowFocusChanged(hasWindowFocus); show(); }
登入後複製
如果使用者點選數字0-9,就填入到密碼框中,如果是點選退格鍵的話,就刪除所對應密碼框的內容。了用場。 這裡值得指出,由於退格鍵點擊效果與眾不同,我這裡應用程式碼設定他的樣式。代碼為:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { if (position = -1 && currentIndex = -1) { // 判断是否删除完毕————要小心数组越界 tvList[currentIndex--].setText(""); } } } } });
登入後複製
以上是Android高仿微信支付密碼輸入控制項實例代碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前
By DDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前
By DDD
Inzoi:如何申請學校和大學
3 週前
By DDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前
By DDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
4 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)