WebView(アプリ内ブラウザ)で表示しているページに入力フォームがあった場合、それをクリックしてもソフトウェアキーボードが出てこないことがあります。
ログイン画面でIDやパスワードの入力フォームが表示されているのに、クリックしても何もおこらないと、ログイン画面しか表示されないアプリになっちゃったりします。
これはどうも、WebViewにフォーカスが当たってないことが原因のようです。
「フォーカスが当たる」というのがどういう状態なのかイマイチわかってないところはありますが、次のようにすると解決するようです。
//入力フォーム選択時にフォーカスを当てる webView2.requestFocus(View.FOCUS_DOWN);
標準ブラウザで見ると、ちゃんと表示されるのに、
WebView(アプリ内ブラウザ)で同じページを閲覧すると
レイアウトが微妙に崩れたりすることがあります。
これはWebViewで表示したときに
右端にスクロールバー用の領域が10px分
自動的に確保されてしまうために起こっているのかもしれません。
これを防ぐ設定は以下の通り。
//右10pxの余白を消す webView.setVerticalScrollbarOverlay(true);
これで10px分の領域が消えるので、正常に表示されるはずです。
アプリ内ブラウザ WebView のユーザーエージェントは
このようにすると取得することができます。
String userAgentString = webView.getSettings().getUserAgentString(); Log.v("CHECK", userAgentString);ちなみに、Xperiaのユーザーエージェントはこんな感じ。
Mozilla/5.0 (Linux; U; Android 2.1-update1; ja-jp; SO-01B Build/2.0.2.B.0.29) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17HTC Ariaのユーザーエージェントはこう。
Mozilla/5.0 (Linux; U; Android 2.2.1; ja-jp; HTC Liberty Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1Androidなのに『Mobile Safari』なのが面白いところですね。 これはAndroidの標準ブラウザやWebViewが WebKitを元に開発されているからです。
スポンサード リンク
新着記事
月別アーカイブ
オススメ書籍
【中級者必携の3冊】
目的から実現方法を探すいわゆる逆引き本。ネットで探してた情報が1冊にまとまっている感じです。
こちらも逆引き本。しかも情報量が多くて分厚い辞書的な1冊。必ず手元に置いておきたい1冊です。
様々なUIテクニックが載っている1冊。レイアウト関係でここまで詳しい本は他にありません。UIに強くなりたいなら必須。
今日のキーワード
当サイトのRSS
カテゴリー
Copyright (C) 2012 All Rights Reserved Android アプリ の 研究所 アンドロイド ナビ