2012-12-12 3 views
2

나는 대문자와 소문자를 동시에 표시하는 키보드가 필요합니다. (Shift를 누른 후에는 대문자로 표시되지 않음). 이제 SDK의 샘플 프로젝트를 사용하여 일반 키보드처럼 소문자를 표시 할 수있었습니다. 이 프로젝트는 아래와 같이 키보드의 레이아웃을 정의하는 xml 코드 레이블 매핑을 사용android에서 소프트 키보드의 대문자에 대한 키 코드

<Row> 
    <Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/> 
    <Key android:codes="119" android:keyLabel="w"/> 
    <Key android:codes="101" android:keyLabel="e"/> 
    <Key android:codes="114" android:keyLabel="r"/> 
    <Key android:codes="116" android:keyLabel="t"/> 
    <Key android:codes="121" android:keyLabel="y"/> 
    <Key android:codes="117" android:keyLabel="u"/> 
    <Key android:codes="105" android:keyLabel="i"/> 
    <Key android:codes="111" android:keyLabel="o"/> 
    <Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/> 
</Row> 

사람들은 소문자에 대한 모든입니다. 문제는 대문자를 표시하는 방법입니다. 코드에 대문자에 대한 keyLabel 값이 있습니까? 아니면 대문자를 키보드에 포함시키는 다른 방법이 있습니까?

답변

2

문자의 대소 문자는 모두 동일합니다. 사용자가 소프트 키보드에서 문자 키를 누르면, 키보드보기의 시프트 상태에 따라 출력이 달라지며, 이는 KeyboardView.setShifted(boolean)을 사용하여 변경할 수 있습니다.

다른보기는보기의 키가 동일한 시프트 상태 여야하므로 한 문자보기에서 대문자와 소문자를 동시에 표시 할 수 없습니다. 그러나 그것은 두 가지 다른 관점에서 이루어질 수 있습니다.

+0

그래서 아래쪽 및 아래쪽 문자를 동시에 표시 할 수있는 방법이 있습니까? –

+0

하나의 키보드에 대해 두 가지 다른보기에서 수행 할 수 있습니다. 하나는 시프트되지 않고 다른 하나는 항상 시프트됩니다. 뷰의 키는 동일한 시프트 상태를 가져야하기 때문에 동일한 뷰에는 표시되지 않습니다. 그래, 내 대답에 이걸 추가해야한다고 생각 나네. – Yulong

+0

필자는 키 누르기가 해석되기 전에 어떻게 든들을 수 있다면 사용자 정의 코드를 추가하고 이러한 코드를 가로 채어 올바른 문자로 변환하거나 빠르게 이동 한 것과 이동하지 않은 것으로 전환 할 수 있습니다. 나는 그런 청취자가 존재하는 것을 의심한다. –

관련 문제