自定义随机键盘
来源:互联网 发布:java 悲观锁 编辑:程序博客网 时间:2024/06/08 05:49
RandomKeyBoard
package com.wangxinjinrong.xianfengzhifu.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.FrameLayout;
import com.wangxinjinrong.xianfengzhifu.xflk.R;
public class RandomKeyBoard extends FrameLayout implements OnClickListener {
public RandomKeyBoard(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public RandomKeyBoard(Context context) {
super(context);
init();
}
private int[] keyIds = new int[] { R.id.key_0, R.id.key_1, R.id.key_2,
R.id.key_3, R.id.key_4, R.id.key_5, R.id.key_6, R.id.key_7,
R.id.key_8, R.id.key_9};
private Button btnCancel;
private Button btnOk;
private Button [] buttons = new Button[10];
private int nums[] = new int[]{0,1,2,3,4,5,6,7,8,9};
private void init() {
View keyBroad = View.inflate(getContext(), R.layout.view_key_broad,
null);
btnOk = (Button) keyBroad.findViewById(R.id.key_ok);
btnCancel = (Button) keyBroad.findViewById(R.id.key_cancel);
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 点击确定,隐藏,随机键盘
RandomKeyBoard.this.setVisibility(View.GONE);
}
});
btnCancel.setOnClickListener(this);
randomNums(nums);
for (int i = 0; i < buttons.length; i++) {
buttons[i] = (Button) keyBroad.findViewById(keyIds[i]);
buttons[i].setOnClickListener(this);
buttons[i].setText(""+nums[i]);
}
this.addView(keyBroad);
}
/**
* 随机键盘
*/
public void randomkey(){
randomNums(nums);
for (int i = 0; i < buttons.length; i++) {
buttons[i].setText(""+nums[i]);
}
}
/**
* 将数组打乱
* @param nums2
*/
private void randomNums(int[] nums2) {
for (int i = 0; i < nums2.length; i++) {
int random = (int) (Math.random()*10);
System.out.println("random:"+random);
int t = nums2[i];
nums2[i]=nums2[random];
nums2[random]=t;
}
System.out.println(nums2);
}
public KeyListener getKeyListener() {
return keyListener;
}
public void setKeyListener(KeyListener keyListener) {
this.keyListener = keyListener;
}
private KeyListener keyListener;
public interface KeyListener{
void onPressKey(int keyId,String keyName);
}
@Override
public void onClick(View v) {
Button b = (Button) v;
if(keyListener!=null){
keyListener.onPressKey(v.getId(),b.getText().toString());
}
}
}
代码块需要调用的代码
lk_password = (EditText) findViewById(R.id.lk_password);
// 禁用系统键盘
// lk_password.setInputType(0);
// lk_password.setShowSoftInputOnFocus(false);
try {
Method mm = EditText.class.getMethod("setShowSoftInputOnFocus", boolean.class);
mm.invoke(lk_password, false);
} catch (Exception e) {
e.printStackTrace();
}
lk_password.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.i("Messagerecharge", "Messagerecharge::onClick");
// 显示键盘
my_key_precharge.randomkey();
my_key_precharge.setVisibility(View.VISIBLE);
handler.postDelayed(new Runnable() {
@Override
public void run() {
scroll_view.fullScroll(ScrollView.FOCUS_DOWN);
lk_password.requestFocus();
}
},100);
return true;
}
});
- 自定义随机键盘
- 自定义软键盘,随机数字位置键盘
- android-使用PopupWindow实现随机排列的自定义密码键盘
- android-使用PopupWindow实现随机排列的自定义密码键盘
- Android 自定义键盘 随机键盘(完全定制,向上顶布局,点击按钮进行隐藏)
- 随机密码键盘页面
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 键盘自定义
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 自定义键盘
- 自定义键盘
- Android中Application类用法
- android 模拟器连不上时的解决办法
- Ubuntu 安装 PostgreSQL 插件 pgbson
- activity与fragment之间的数据交互
- 那么30岁还一事无成到底晚不晚?
- 自定义随机键盘
- 数据库学习笔记(十二)
- C#中StreamWriter与BinaryWriter的区别兼谈编码(转)
- Activiti环境配置、项目搭建、与Spring集成、简单示例
- java异常处理
- 配置Spring数据源c3p0与dbcp
- 将java.util.Map转换为格式化json
- 正则表达式
- 获取mybatis可执行sql