强制键盘显示在屏幕上

时间:2014-01-09 13:42:21

标签: android keyboard

我需要在没有EditText的屏幕上显示软键盘 - 只需一个键盘。 我对一个可以通过软键盘控制的游戏有所了解,但是我在stackoverflow上发现了 - 它不能正常工作。

这是我的game.xml - 它是这个应用程序的主要活动的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/root"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".GameActivity" >

    <com.vladdrummer.textmaster.Game
        android:id="@+id/game"
        android:layout_width="wrap_content"
        android:windowSoftInputMode="adjustResize"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

这是在Activity中调用它的方式:

@Override
protected void onCreate(Bundle savedInstanceState) {
    this.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);//this suppose to force keyboard to be on screen
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);//чтоб экран не гас

    setContentView(R.layout.game);

这仅适用于纵向/垂直方向,不适用于横向/横向。

(如果我的Game类正在扩展View类,我正在使用canvas)

但是我需要以横向模式显示它。

还有另一种方法可以将键盘保持在屏幕上:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

但这不会做任何事情

所以,我需要一个软键盘以横向模式粘贴在屏幕上

1 个答案:

答案 0 :(得分:0)

尝试在单独的线程中执行以下代码。