5

ロケーションバーの URL フィールドを非表示または無効にする方法はありますか? 私の場合、デバイスはキオスク ブラウザーとして実行されるタブレットであるため、許可される URL は 1 つだけです。

ChildBrowser.java のコードを次のように変更して、これを修正しました。

private void navigate(String url) {
    InputMethodManager imm = (InputMethodManager)this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
    if (!url.startsWith("http")) {
        this.webview.loadUrl("http://" + url);
    }
    this.webview.loadUrl("http://www.my-only-allowed-site.example.org");
    this.webview.requestFocus();
}

これはうまく機能しますが、良くありません。URLはまだ見れます。この可能な解決策のいずれかを希望します:
1) URL フィールドを完全に非表示にする
2) URL フィールドをクリックするとソフトキーボードを非表示にする
3) URL フォントの色を黒に設定する

何か案が?
前もって感謝します

4

2 に答える 2

4

プラグインのソース コードを変更する場合、プラグインのソース コードを変更し、次の行をコメント アウトするだけで、url フィールドと閉じるボタンを非表示にすることができます。

toolbar.addView(back);       //shows the back button
toolbar.addView(forward);    //shows the forward button
//toolbar.addView(edittext); //shows the URL - comment this line out to hide the URL
toolbar.addView(close);      //shows the close button

編集:おっと、あなたのコメントから、あなたが同じ方法でこれを理解したことがわかりました!

于 2012-01-17T01:48:01.730 に答える
0

Phonegap については何も知りませんが、標準の Android を使用していると思いますWebViewか?

URL バーが表示されている場合は、通常、ページの読み込みを処理するために既定のシステム ブラウザーが呼び出されていることを意味します。これを防ぐには、次のように設定WebViewClientします...

this.webview.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        return false;
    }
});

このshouldOverrideUrlLoading(...)メソッドはホスト アプリケーションによって呼び出され、Activity Manager を使用して適切なアプリ (通常はストック ブラウザー アプリ) を見つけて、読み込みをオーバーライドする必要があるかどうかを確認します。戻るfalseということは、WebViewインスタンスが独自の URL 読み込みを処理する必要があることを意味し、URL バーはまったく表示されません。

編集:それで問題が解決してもナビゲーション ボタンが失われる場合は、独自の履歴コレクションを維持し、戻る/進む/終了するための独自のボタンを提供することをお勧めします。

于 2012-01-03T01:24:13.663 に答える