【发布时间】:2016-02-18 21:32:04
【问题描述】:
我正在为这个问题发疯,在 web 视图上显示键盘。
我已经完成了stackoverflow所说的每一件事,但仍然没有成功。这是我的代码:
public void openChat(View v) {
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Chat VM Latino");
WebView wv = new WebView(this);
wv.setFocusable(true);
wv.loadUrl("http://190.171.0.181:3001/");
wv.requestFocus(View.FOCUS_DOWN);
wv.getSettings().setJavaScriptEnabled(true);
wv.requestFocus(View.FOCUS_DOWN);
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
alert.setView(wv);
alert.setNegativeButton("Cerrar",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
alert.show();
}
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.vmlatino"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.NoActionBar" >
<activity
android:name="com.racsa.UI.Splash"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.racsa.UI.EscogerStreamActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.racsa.UI.RadioActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.racsa.UI.RadioChatActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
android:name="com.racsa.UI.VideoViewDemo"
android:configChanges="orientation|keyboard"
android:windowSoftInputMode="stateUnspecified"
android:label="Media/VideoView"
android:theme="@android:style/Theme.Holo.NoActionBar" >
</activity>
<activity
android:name="com.racsa.UI.VMChatActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
<activity
android:name="io.vov.vitamio.activity.InitActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
android:launchMode="singleTop"
android:theme="@android:style/Theme.NoTitleBar"
android:windowSoftInputMode="stateAlwaysHidden" />
</application>
</manifest>
我正在使用 vitamio 插件进行视频流传输,我们将不胜感激! 提前致谢。
【问题讨论】:
-
问题是您正在使用对话框来显示 WebView。请改用活动。对话框的用户互动有限。
-
您好!感谢您的回复。问题是,如果我离开活动,视频流将不会继续播放,我的想法是在至少听流的同时聊天
-
嗯。您可以尝试将流放在
Overlay或对话框中(流在 WebView 中,对吗?)并尝试在 Android XML 中重建聊天部分(假设聊天也在 Webview 中?)。通过使用原生 Java 编写聊天,您应该能够在对话框或活动中打开键盘。 -
流在 vitamio 中,聊天是的,在 web 视图中。
-
可以修改聊天网页里面的代码吗?您应该使用 Android 的 Javascript 方法调用 API 来打开键盘。
标签: java android webview keyboard