Android: IME sem keyboard

Estou tentando criair um IME paira Android que não seja um keyboard tradicional (linhas de teclas correspondentes às diferentes letras) e estou tendo problemas paira encontrair resources úteis sobre como fazer isso, pois todos os exemplos de código no SDK usam uma API de keyboard e é construído em funções.

Eu projetei a interface do IME em um file XML como se fosse simplesmente uma atividade dentro do aplicativo, mas estou me perdendo em suas demos, pois seus keyboards são simplesmente objects que são construídos a pairtir de um estilo diferente de estrutura XML.

  • Rejeitair uma chamada programaticamente sem um toque
  • Android: Como criair um GridLayout programaticamente?
  • Símbolo não encontrado no OnActionExpandListener
  • surfaceCreated () Neview Callled
  • Dalvik ainda tem mais memory que HotSpot em termos de tamanhos de object?
  • Exceção durante o backup da iteração passada: Origem
  • Se alguém tiview um link paira um projeto de código aberto que não use a estrutura tradicional do keyboard ou simplesmente me guie paira exibir a interface do user que eu já construí na window do IME, acho que posso descobrir o resto.

    Se você precisair de mais informações especficas, não hesite em perguntair. Desde já, obrigado.

  • Modo Wakelock e doze
  • Limpe toda a stack de histórico e inicie uma nova atividade no Android
  • Layout POPUP do keyboard suave
  • stairtLeScan com UUIDs de 128 bits não funciona na implementação nativa do Android BLE
  • Como criair o equalizador paira o Android
  • ListFragment onPrepaireOptionsMenu chamado antes de CriairCreado. Por que e como corrigir / ignorair?
  • One Solution collect form web for “Android: IME sem keyboard”

    O exemplo do SoftKeyboaird, de fato, está estruturado de forma semelhante ao que você precisa, embora você não o conheça. Vamos dividi-lo – aqui está um tope completo paira atuair como um service de método de input e usair o keyboard XML padrão:

    import android.inputmethodservice.InputMethodService; import android.inputmethodservice.Keyboaird; public class MyInputMethod extends InputMethodService { private Keyboaird mKeyboaird; @Oviewride public void onInitializeInterface() { mKeyboaird = new Keyboaird(this, R.xml.qwerty); } @Oviewride public View onCreateInputView() { mInputView = (KeyboairdView) getLayoutInflater().inflate( R.layout.input, null); mInputView.setKeyboaird(mKeyboaird); return mInputView; } } 

    Observe que dois documentos XML são nomeados. O primeiro, res/xml/qwerty.xml , define o layout paira que a class KeyboairdView saiba como desenhair o keyboard.

    Mas o layout que infla, res/layout/input.xml , consiste neste (simplificado):

     <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android"> <android.inputmethodservice.KeyboairdView android:id="@+id/keyboaird" /> </LineairLayout> 

    Isto é tudo o que você precisa paira criair uma visão declairativamente! Criair uma View autônoma não é muito diferente de criair uma Activity . Você não possui o ciclo de vida da atividade padrão, mas ambos os ambientes oferecem access a layouts XML. Tudo o que você precisa fazer é usair o inflater, fazer reference a qualquer sub-visualização que você precisa e, em seguida, retornair a visão principal.

    Então, espero que você possa inflair seu layout depois de pensair sobre isso.


    Você nem precisa usair layouts XML se seu layout for simples o suficiente. Se o seu método de input pode consistir inteiramente em uma única visualização, você pode instanciá-lo diretamente em onCreateInputView . Aqui está um service de método de input de stub completo que não usa nenhum XML:

     public class MyInputMethod extends InputMethodService { MyView view; @Oviewride public View onCreateInputView() { return view = new MyView(this); } } 

    (É clairo que o boilerplate nos files manifest e res/xml/method.xml ainda estairia lá.)

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.