내 앱의 경우 키패드 자체 버튼으로 키패드를 만들었지 만 실제 키패드를 몇 가지 기능으로 시뮬레이트해야합니다.안드로이드에 자체 키패드 만들기
버튼은 xml의 테이블 레이아웃으로 그려집니다.
다음 편집 텍스트로 포커스를 이동하려면 다음 버튼을 시뮬레이트해야합니다. 편집 텍스트는 페이지의 배열로 처리됩니다.
또한 커서가 현재 가리키고있는 곳에 키를 추가하는 안드로이드 실제 키보드의 타이핑을 시뮬레이트해야합니다. 현재 키는 EditText
문자열의 뒤쪽에 추가/바꾸기/제거합니다.
키패드 버튼은 배열로 처리됩니다.
public void onClick(View v) {
try {
String tmp=texts[selectEdit].getText().toString();
switch (n) {
case 3: texts[selectEdit].setText(tmp.substring(0,tmp.length()-1));
break;//get cursor position and delete char
case 7:{
Precision.performClick();
break;
}//spinner for selecting precision
case 11:{
if(!tmp.contains("E"))
texts[selectEdit].setText(tmp+""+keybuttons[n].getText());
break;
}//check for E if dont have do default case
case 15:{
//calculator.num=n;
//startActivity(new Intent("com.easyPhys.start.calculator"));
break;
}//open Calculator
case 16: break;//next field
case 17: {
onBackPressed();
break;
}//simulate back button
default:{
texts[selectEdit].setText(tmp+""+keybuttons[n].getText());
//get cursor start and end and get entire String
// replace selected String with button text
//insert back
break;
}
}//end of switch
}//end of try
부적절한 코드 정렬은 죄송합니다. 가능한 한 작게 유지하려고 노력했습니다.
고마워요.