2013-02-02 7 views
5

स्वीकार एंड्रॉयड के लिए एक इनपुट मेथड एडिटर लेखन करते हैं, मुझे क्या करना है कि क्या इसे बदलने एंड्रॉयड के अलावा अन्य इनपुट के रूप में कुछ यूनिकोड चरित्र को स्वीकार नक्शा बनाने के लिए: keyLabel (उदाहरण के लिए मुझे इनपुट के रूप में मलयालम चरित्र नक्शा बनाने के लिए : 0D00 - 0DFF)एंड्रॉयड IME है, जो यूनिकोड

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" 
     android:horizontalGap="0px" 
     android:keyHeight="@dimen/key_height" 
     android:keyWidth="10%p" 
     android:verticalGap="0px" > 

     <Row> 
      <Key 
       android:codes="45" 
       android:keyEdgeFlags="left" 
       android:keyLabel="q" 
       android:popupCharacters="@string/hello" 
       android:popupKeyboard="@xml/qwerty"/> 
      <Key 
       android:codes="51" 
       android:keyLabel="w" /> 
      <Key 
       android:codes="33" 
       android:keyLabel="e" /> 
      <Key 
       android:codes="46" 
       android:keyLabel="r" /> 
      <Key 
       android:codes="48" 
       android:keyLabel="t" /> 
      <Key 
       android:codes="53" 
       android:keyLabel="y" /> 
      <Key 
       android:codes="49" 
       android:keyLabel="u" /> 
      <Key 
       android:codes="37" 
       android:keyLabel="i" /> 
      <Key 
       android:codes="43" 
       android:keyLabel="o" /> 
      <Key 
       android:codes="44" 
       android:keyEdgeFlags="right" 
       android:keyLabel="p" /> 
     </Row> 
     <Row> 
      <Key 
       android:codes="29" 
       android:horizontalGap="5%p" 
       android:keyEdgeFlags="left" 
       android:keyLabel="a" /> 
      <Key 
       android:codes="47" 
       android:keyLabel="s" /> 
      <Key 
       android:codes="32" 
       android:keyLabel="d" /> 
      <Key 
       android:codes="34" 
       android:keyLabel="f" /> 
      <Key 
       android:codes="35" 
       android:keyLabel="g" /> 
      <Key 
       android:codes="36" 
       android:keyLabel="h" /> 

      <Key 
       android:codes="38" 
       android:keyLabel="J" /> 
      <Key 
       android:codes="49" 
       android:keyLabel="K" /> 

      <Key 
       android:codes="40" 
       android:keyEdgeFlags="right" 
       android:keyLabel="l" /> 
     </Row> 
     <Row> 
      <Key 
       android:codes="60"    
       android:keyEdgeFlags="left" 
       android:keyIcon="@drawable/sym_keyboard_shift" 
       android:iconPreview="@drawable/sym_keyboard_shift" 
       android:isModifier="true" 
       android:isSticky="true" 
       android:keyWidth="15%p" 
       android:keyLabel="shift" /> 
      <Key 
       android:codes="54" 
       android:keyLabel="z" /> 
      <Key 
       android:codes="52" 
       android:keyLabel="x" /> 
      <Key 
       android:codes="31" 
       android:keyLabel="c" /> 
      <Key 
       android:codes="50" 
       android:keyLabel="v" /> 
      <Key 
       android:codes="30" 
       android:keyLabel="b" /> 
      <Key 
       android:codes="42" 
       android:keyLabel="n" /> 
      <Key 
       android:codes="41" 
       android:keyLabel="m" /> 
      <Key 
       android:codes="67" 
       android:isRepeatable="true" 
       android:keyEdgeFlags="right" 
       android:keyIcon="@drawable/sym_keyboard_delete" 
       android:keyWidth="15%p" /> 
     </Row> 
     <Row android:rowEdgeFlags="bottom" > 
      <Key 
       android:codes="-3" 
       android:keyEdgeFlags="left" 
       android:keyIcon="@drawable/sym_keyboard_done" 
       android:keyWidth="20%p" /> 
      <Key 
       android:codes="-2" 
       android:keyLabel="123" 
       android:keyWidth="15%p" /> 
      <Key 
       android:codes="62" 
       android:isRepeatable="true" 
       android:keyIcon="@drawable/sym_keyboard_space" 
       android:keyWidth="30%p" /> 
      <Key 
       android:codes="46,55" 
       android:keyLabel=". ," 
       android:keyWidth="15%p" /> 
      <Key 
       android:codes="10" 
       android:keyEdgeFlags="right" 
       android:keyIcon="@drawable/sym_keyboard_return" 
       android:keyWidth="20%p" /> 
     </Row> 

    </Keyboard> 
+0

आप किसी भी समाधान मिला? – Rajkiran

उत्तर

2

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन जब मैं यह आवश्यक इसलिए मैं यहाँ जो दूसरों के लिए यह लग सकता है के लिए एक प्रदान करेगा मैं इस सवाल का जवाब नहीं मिली है।

documentation के अनुसार: Keyboard.Key के (android.inputmethodservice.Keyboard.Key) एंड्रॉयड: कोड XML विशेषता है:

यूनिकोड मान या कॉमा द्वारा विभाजित मान कि इस कुंजी आउटपुट।

एक स्ट्रिंग मान हो सकता है, का उपयोग करते हुए '\;' पात्रों से बचने के लिए इस तरह के रूप '\ n' या '\ uxxxx' एक यूनिकोड चरित्र के लिए; एक पूर्णांक मान हो सकता है, जैसे "100"।

मैं यह नहीं समझ सका कि इसे '\;' लेकिन आप कर सकते हैं:

  • (1) दशमलव यूनिकोड मान है, जो आप देख सकते हैं, उदाहरण के लिए यहाँ का उपयोग करें: http://unicodelookup.com/#%090xD05/1 उदा 3333 यू के लिए + 0D05

या

  • (2) के बजाय साथ से बचने का '\;' निर्दिष्ट 0x उपसर्ग उदा 0x0D05

चरित्र അ मलयालम पत्र एक U + 0D05 के लिए उदाहरण:

(1)

<Key android:codes="3333" android:keyLabel="\u0D05"/> 

(2)

<Key android:codes="0x0D05" android:keyLabel="\u0D05"/> 
संबंधित मुद्दे