2012-09-24 4 views
0

내 앱의 경우 키패드 자체 버튼으로 키패드를 만들었지 만 실제 키패드를 몇 가지 기능으로 시뮬레이트해야합니다.안드로이드에 자체 키패드 만들기

버튼은 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 

부적절한 코드 정렬은 죄송합니다. 가능한 한 작게 유지하려고 노력했습니다.

고마워요.

답변