尝试从活动创建Android软键盘

时间:2013-05-02 11:13:11

标签: android service keyboard

我为键盘写了一个活动。 现在我正在移动一个将Activity扩展到另一个ex InputMethodService的类... 我错过了findViewById来创建键盘布局。 因为我没有足够的知识来创建SoftKeyboard,所以我包含了Java代码。 我猜我的下一步是将AndroidManifest.xml修改为服务。

package com.keyboard.mine;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends InputMethodService /* Activity */ {
    ...
    ...
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//    }

//    @Override
//    public boolean onCreateOptionsMenu(Menu menu) {
//        // Inflate the menu; this adds items to the action bar if it is present.
//        getMenuInflater().inflate(R.menu.main, menu);
//        return true;
//    }


    private void nuevas_teclas (String [][] teclas_array) {
        Button boton = (Button) ***findViewById***(R.id.button00);
        boton.setText(teclas_array [pagina][0]);
        boton = (Button) ***findViewById***(R.id.button01);
        boton.setText(teclas_array [pagina][1]);
        boton = (Button) ***findViewById***(R.id.button02);
        boton.setText(teclas_array [pagina][2]);
        boton = (Button) ***findViewById***(R.id.button10);
        boton.setText(teclas_array [pagina][4]);
        boton = (Button) ***findViewById***(R.id.button11);
        boton.setText(teclas_array [pagina][5]);
        boton = (Button) ***findViewById***(R.id.button12);
        boton.setText(teclas_array [pagina][6]);
        boton = (Button) ***findViewById***(R.id.button20);
        boton.setText(teclas_array [pagina][8]);
        boton = (Button) ***findViewById***(R.id.button21);
        boton.setText(teclas_array [pagina][9]);
        boton = (Button) ***findViewById***(R.id.button22);
        boton.setText(teclas_array [pagina][10]);   
        boton = (Button) ***findViewById***(R.id.button31);
        if (! teclas_array [pagina][13].equals ("")) {
            boton.setText(teclas_array [pagina][13]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux0);
        if (! teclas_array [pagina][3].equals ("")) {
            boton.setText(teclas_array [pagina][3]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux1);
        if (! teclas_array [pagina][7].equals ("")) {
            boton.setText(teclas_array [pagina][7]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux2);
        if (! teclas_array [pagina][11].equals ("")) {
            boton.setText(teclas_array [pagina][11]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux3);
        if (! teclas_array [pagina][15].equals ("")) {
            boton.setText(teclas_array [pagina][15]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux4);
        if (! teclas_array [pagina][14].equals ("")) {
            boton.setText(teclas_array [pagina][14]);
        }
        boton = (Button) ***findViewById***(R.id.buttonaux5);
        if (! teclas_array [pagina][12].equals ("")) {
            boton.setText(teclas_array [pagina][12]);
        }
}
...
... 
...
}

1 个答案:

答案 0 :(得分:0)

您可以查看以下可用的源代码:

Scandinavian-keyboard
Hackers Keyboard
Android Emoji Keyboard

然后尝试自己制作。 希望这对你有帮助,你可以得到一些基本的想法。