【问题标题】:Keyboard not showing in webview android键盘未在 webview android 中显示
【发布时间】: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


【解决方案1】:

最后,我没有使用Dialog,我添加了一个像WebView 这样的浮点数,现在键盘显示出来了。

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多