2014-04-18 17 views
1

Android의 압력, KeyDown 및 KeyUp과 같은 화면 키보드에서 정보를 얻을 필요가 있지만이를 수행하는 방법을 모르겠습니다.화면 (가상) 키보드에서 압력을 얻는 방법은 무엇입니까? (Android)

참고 : 다음의 KeyEvent 클래스와 관련 API와 키보드 이벤트를 처리 할 때, 당신은 키보드 이벤트가 하드웨어 키보드에서만 올 것으로 기대한다

안드로이드 공식 사이트

는 말한다. 소프트 입력 방법 (온 스크린 키보드)의 모든 키에 대해 키 이벤트 수신에 의존해서는 안됩니다.

또한 다음과 같은 방법을 시도해 보았습니다. 그것은 실제로 뒤로 버튼과 같은 하드웨어 키와 함께 작동합니다.

myEditText.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View view, int i, KeyEvent keyEvent) { 
      return false; 
     } 
    }); 

나는 스크린 키보드를 확장하는 방법을 찾고 있었지만 여전히 성공하지 못했습니다! 누구든지이 작업을 시도한 적이 있습니까? 도와 주셔서 감사합니다.

업데이트 : 궁극적으로 krossovochkin에 의해 제안 내 자신의 키보드를 사용하여 동일한 솔루션을 함께했다 많은 솔루션을 시도 후. 안드로이드의 키보드를 새로운 것으로 수정하고 싶다면 그 해결책은 그리 나쁘지 않은 것 같습니다. 이렇게하면 "설정 -> 입력 방법"에 나타나기 때문에 사용자는 새 키보드로 전환 할 수 있습니다.이 키보드는 다른 모든 응용 프로그램에서 액세스 할 수 있으므로 좋은 키보드입니다. 표준 가상 키보드에서 압력을받을 수 있는지 여부는 아직 명확하지 않으므로 질문을 공개적으로 남겨 둘 수 있다고 생각했습니다.

+0

그래서 질문은을 – csmckelvey

+0

, 대답은 이미 여기에서 공유됩니다 http://stackoverflow.com/questions/9312518/android-find-pressure-on-screen/9312570#9312570 –

+0

@Takendarkk 예,하지만이 목적을 위해 주로 키를 캡처합니다. 이벤트. 그 일을하는 샘플 코드를 알고 있다면 알려주십시오. 감사. –

답변

1

당신은 MotionEvent 링크에서 getPressure() 메소드를 호출하려고 할 수 있습니다 http://developer.android.com/reference/android/view/MotionEvent.html#getPressure%28int%29

코드를 :

view.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     float pressure = event.getPressure(); 
    } 
}); 

UPDATE를 : 당신은 그것에서 자신의 키보드와 getPressure을 만들 수 있습니다. 사용자가 기본 키보드 대신 키보드를 사용하는 것을 좋아하지 않을 수도 있습니다. 그러나 이것이 귀하의 상황에 가장 적합한 솔루션이라고 생각합니다.

더 자세한 정보에 대해 :
KeyboardView : 자신의 키보드 만드는 http://developer.android.com/reference/android/inputmethodservice/KeyboardView.html
예 : "_Has 누구도 안드로이드의 소프트 키보드를 확장하기 위해 노력 _"압력을 찾는 이 https://github.com/rciovati/Android-KeyboardView-Example

+0

감사합니다. 그렇습니다.하지만 제 질문은 가상 키보드에서 어떻게 압박감을 느끼는지에 있습니다. –