안드로이드 고도모조 WeChat 결제 비밀번호 입력 제어 예시 코드
본 글에서는 주로 Android모조가 많은 WeChat 결제 비밀번호 입력에 대해 자세히 소개합니다. 구체적인 구현 컨트롤 코드는 참고용입니다.
위챗 결제 비밀번호 컨트롤과 마찬가지로 최근 앱에서 이 기능이 필요해서 구현했습니다.
평소에는 촬영할 때 올바른 각도를 찾아야 하지만 이제 이 "작지만 아름다운" 제어를 위해서는 우리의 생각이 이렇습니다.
Ⅰ. 입력할 비밀번호 개수는 코드를 통해 동적으로 불러옵니다.
Ⅱ. Gridview를 사용하여 입력 숫자 키보드를 시뮬레이션하고, 평소와 같이 화면 하단에서 팝업합니다. >Ⅲ. 입력된 숫자 키보드를 모니터링하여 입력된 숫자를 이
비밀번호 상자에 입력하고, 동일한 길이의 비밀번호를 입력하면 이벤트 콜백을 수행합니다. 지도는 다음과 같아야 합니다.
우선 필요에 따라 비밀번호 상자를 동적으로 로드해야 합니다. 해당 코드는 다음과 같습니다.
for (int i = 0; i <p style="text-align: left;">여기서 비밀번호 길이를 6으로 설정하고 6개의 비밀번호 상자 컨트롤을 추가하여 이러한 컨트롤을 유지합니다. 상위 컨트롤로 이동하면 각 비밀번호 컨트롤에 별도의 컨트롤이 있고 각 비밀번호 입력 컨트롤을 해당 컨트롤에 넣습니다. </p> 배열 <p style="text-align: left;"> 그런 다음 Gridview를 사용하여 12각형의 시뮬레이션된 숫자 키보드를 생성하므로 시뮬레이션된 키보드는 다음과 같습니다. <a href="http://www.php.cn/wiki/58.html" target="_blank"></a></p><p style="text-align: left;"></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>
로그인 후 복사

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(); }
로그인 후 복사
이 컨트롤이 로드되면 팝업이 나타납니다. >
마지막으로 우리가 해야 할 일은 시뮬레이션된 키보드를 모니터링하고 이 시뮬레이션된 키보드의 입력을 비밀번호 상자에 입력하는 것입니다. , 실제로는 Gridview의 onitemclick 이벤트를 모니터링하기 위한 것입니다.
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(""); } } } } });
로그인 후 복사
// 设置监听方法,在第6位输入完成后触发 public void setOnFinishInput(final OnPasswordInputFinish pass) { tvList[5].addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { if (s.toString().length() == 1) { strPassword = ""; // 每次触发都要先将strPassword置空,再重新获取,避免由于输入删除再输入造成混乱 for (int i = 0; i 수많은 노력 끝에 최종 결과는 다음과 같습니다. <p style="text-align: left;"></p> <p style="text-align: left;"></p>
로그인 후 복사
위 내용은 안드로이드 고도모조 WeChat 결제 비밀번호 입력 제어 예시 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전
By DDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7470
15


Cakephp 튜토리얼
1377
52


Steam의 계정 이름 형식은 무엇입니까?
77
11


Win11 활성화 키 영구
48
19


NYT 연결 힌트와 답변
19
29

