我正在尝试将webview添加到我的项目中以提供聊天室。但是,只要我在聊天中输入文字,键盘就会再见,这有点烦人。是否有一种简单的方法可以强制键盘保持打开状态以进行输入。
我的代码:
GoChatActivity.java
package com.test.abc.activity;
import com.test.abc.xx.R;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class GoChatActivity extends Activity {
@SuppressLint("SetJavaScriptEnabled")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reg);
WebView webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://dev.openflex.net/candy/");
webView.requestFocus(View.FOCUS_DOWN);
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(webView, InputMethodManager.SHOW_IMPLICIT);
}
}
布局中的我的reg.xml是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="46dip"
android:background="@drawable/skin_header_bar_bg"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:text="Chat Room"
android:textColor="@color/skin_bar_text"
android:textSize="19.0sp" />
<com.test.abc.scrollview.BounceScrollView
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/coversation_bg"
android:fadingEdge="none"
android:fillViewport="true"
android:scrollbarThumbVertical="@drawable/scrollbar_handle_vertical" >
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</com.test.abc.scrollview.BounceScrollView>
</LinearLayout>
此活动的AndroidManifest.xml
<activity
android:name="com.test.abc.activity.GoChatActivity"
android:alwaysRetainTaskState="true"
android:configChanges="locale|keyboardHidden|orientation|screenSize"
android:exported="true"
android:windowSoftInputMode="stateVisible"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/Default.SwipeBack.NoTitleBar"
>
</activity>
我正在寻找的是,当我在聊天室时,键盘始终保持打开状态(该网址来自聊天开发者网站上的聊天,因此我的相同。)
知道如何解决这个问题吗?注意,我是Eclipse / Android的新手,所以一个带有解释的工作示例对大多数人都有帮助,正如我所做的那样:)
在旁注中,目前聊天的工作方式如下:如果您输入测试,可以使用键盘GO按钮发送,然后键盘隐藏。或者你可以输入文字,点击发送(在webview中)然后他们键盘隐藏它并没有发送你必须再次点击发送按钮...如果你问我有点烦人:)
感谢您的时间。
答案 0 :(得分:0)
在你的清单活动中使用它。它可以运行
android:windowSoftInputMode="stateAlwaysVisible"
或者
android:windowSoftInputMode="adjustPan|stateAlwaysVisible"