찾다
위챗 애플릿위챗 개발안드로이드 고도모조 WeChat 결제 비밀번호 입력 제어 예시 코드

본 글에서는 주로 Android모조가 많은 WeChat 결제 비밀번호 입력에 대해 자세히 소개합니다. 구체적인 구현 컨트롤 코드는 참고용입니다.

위챗 결제 비밀번호 컨트롤과 마찬가지로 최근 앱에서 이 기능이 필요해서 구현했습니다.
평소에는 촬영할 때 올바른 각도를 찾아야 하지만 이제 이 "작지만 아름다운" 제어를 위해서는 우리의 생각이 이렇습니다.

Ⅰ. 입력할 비밀번호 개수는 코드를 통해 동적으로 불러옵니다.

Ⅱ. Gridview를 사용하여 입력 숫자 키보드를 시뮬레이션하고, 평소와 같이 화면 하단에서 팝업합니다. >Ⅲ. 입력된 숫자 키보드를 모니터링하여 입력된 숫자를 이

비밀번호 상자

에 입력하고, 동일한 길이의 비밀번호를 입력하면 이벤트 콜백을 수행합니다. 지도는 다음과 같아야 합니다.

안드로이드 고도모조 WeChat 결제 비밀번호 입력 제어 예시 코드우선 필요에 따라 비밀번호 상자를 동적으로 로드해야 합니다. 해당 코드는 다음과 같습니다.

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>
안드로이드 고도모조 WeChat 결제 비밀번호 입력 제어 예시 코드시뮬레이트된 키보드의 데이터를 0-9 및 x로 로드한 다음 이 데이터를 어댑터를 통해 Gridview 컨트롤에 채웁니다. 키보드는 화면 하단에서 그려야 합니다. 여기서 하는 작업은 팝업 창에 Gridview를 연결한 다음 화면 하단에서 팝업하는 것입니다.
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("");
      }
     }
    }
   }
  });
사용자가 0~9의 숫자를 클릭하면 비밀번호 상자에 채워집니다. 사용자가 백스페이스 키를 클릭하면 해당 비밀번호 상자의 내용이 삭제됩니다. 참고로, 위에서 사용한 텍스트 상자 배열 목록이 전송됩니다. 여기에서 코드를 사용하여 스타일을 설정하세요.

// 设置监听方法,在第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

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구