WebView内の入力フォームでソフトウェアキーボードが出ない - Android アプリ 開発 情報

WebView内の入力フォームでソフトウェアキーボードが出ない

WebView(アプリ内ブラウザ)で表示しているページに入力フォームがあった場合、それをクリックしてもソフトウェアキーボードが出てこないことがあります。

ログイン画面でIDやパスワードの入力フォームが表示されているのに、クリックしても何もおこらないと、ログイン画面しか表示されないアプリになっちゃったりします。

これはどうも、WebViewにフォーカスが当たってないことが原因のようです。

「フォーカスが当たる」というのがどういう状態なのかイマイチわかってないところはありますが、次のようにすると解決するようです。

//入力フォーム選択時にフォーカスを当てる
webView2.requestFocus(View.FOCUS_DOWN);
 

WebView内の入力フォームでソフトウェアキーボードが出ない の続きを読む

WebView内でのレイアウト崩れを回避する方法

標準ブラウザで見ると、ちゃんと表示されるのに、
WebView(アプリ内ブラウザ)で同じページを閲覧すると
レイアウトが微妙に崩れたりすることがあります。

これはWebViewで表示したときに
右端にスクロールバー用の領域が10px分
自動的に確保されてしまうために起こっているのかもしれません。

これを防ぐ設定は以下の通り。

//右10pxの余白を消す
webView.setVerticalScrollbarOverlay(true);

これで10px分の領域が消えるので、正常に表示されるはずです。
 

WebViewのユーザーエージェントを取得・変更する方法

アプリ内ブラウザ 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.17
    HTC 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.1
    Androidなのに『Mobile Safari』なのが面白いところですね。 これはAndroidの標準ブラウザやWebViewが WebKitを元に開発されているからです。  

WebViewのユーザーエージェントを取得・変更する方法 の続きを読む

Android アプリ 開発 情報の記事
Androidでゲームアプリを作るのに便利なゲームエンジン : 2012年2月25日
いろんな種類のアプリを開発していますが ゲームアプリだけは別物だよなぁ、なんて思...
incorrect AVA format エラー(署名作成時) : 2012年2月25日
署名作成時に Keytool-error: java.io.IOExceptio...
Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE : 2011年11月 5日
Eclipse から実機にアプリをインストールするときに 下記のエラーが出ました...
画面サイズとVGAとかの対応表 : 2011年10月 7日
Andoridの端末には様々な画面サイズがあります。 それぞれの画面サイズに最適...
iPhone のように指にくっついてスライドするUI : 2011年10月 7日
iPhone では、画面に表示されている写真などを入れ替えるとき、指で左右にフリ...
Eclipse で エミュレーター が 起動しない : 2011年10月 3日
いつのころからか Eclipse で エミュレーター が 起動しなくなってしまい...
DB への INSERT 処理の高速化 : 2011年10月 3日
最近、サーバーからXMLやJSONでデータリストを取ってきて、アプリ内の SQL...
画像付き ListView で特定の画像だけダウンロードできない問題 : 2011年10月 3日
インターネット経由で画像をダウンロードし、ListView で表示するアプリを作...
1つのアプリでMapViewを2つ使ってはダメ? : 2011年10月 3日
MapView を使用するアプリを開発していたら、以下のようなエラーが発生しまし...
ボタンの上下左右に画像を配置する方法 : 2011年10月 3日
Androidのボタンに背景画像を設置する方法をご存じの方は多いと思いますが、 ...
Androidアプリからメールを起動する方法 : 2011年9月28日
Androidアプリからメーラーを起動する方法です。 起動したメーラーには 件名...
Androidアプリから電話をかける方法 : 2011年9月27日
Androidアプリから電話をかける方法です。 アプリから電話を起動する方法は2...
改行 を含む 正規表現 ( Java ) : 2011年9月27日
青空文庫の作品データを使ったアプリを作ってたんですが 作品データの中には不要な文...
Reached MAX size for compiled-sql statement cache for database : 2011年9月27日
SQLite を使用するアプリを作っていたら こんな エラー が出ました。 09...
ActivityManager: Error type 3 : 2011年7月14日
ActivityManager: Error type 3 ちょっと実験的にRS...
アプリを外部メディア ( SDカード ) への インストール できるようにする : 2011年7月 6日
アプリを外部メディア ( SDカード ) への インストール できるようにする ...
ItemizedOverlay で ArrayIndexOutOfBoundsException が起こる問題 : 2011年7月 3日
ItemizedOverlay で ArrayIndexOutOfBoundsE...
カメラ から 画像 を 取得 する方法( Xperia とそれ以外) : 2011年6月 3日
カメラ から 画像 を 取得 する方法( Xperia とそれ以外) 前回 An...
Android端末 や カメラ から 画像 を 取得 する方法 : 2011年6月 3日
Android端末 や カメラ から 画像 を 取得 する方法 アプリ を作って...
バックキー ( 戻るボタン )の 検出 方法と処理 : 2011年6月 3日
バックキー ( 戻るボタン )の 検出 方法と処理 先日リリースした シガー テ...
Activity 起動 時に ソフトウェアキーボード が立ちあがってしまう : 2011年6月 3日
Activity 起動 時に ソフトウェアキーボード が立ちあがってしまう Ac...
Google Maps ( MapView ) で 情報ウィンドウ を表示する方法2 : 2011年5月18日
前回、Google Maps ( MapView ) で 情報ウィンドウ を表示...
Google Maps ( MapView ) で 情報ウィンドウ を表示する方法 : 2011年5月15日
Google Maps ( MapView ) で 情報ウィンドウ を表示する方...
リソースファイル 内で 定義 した 配列 を使う方法 : 2011年5月 3日
リソースファイル 内で 定義 した 配列 を使う方法 アプリ内のいろんなところで...
ピリオド の エスケープ の しかた : 2011年5月 3日
ピリオド の エスケープ の しかた 「.」( ピリオド )を含む文字列を ピリ...
URLエンコーディング のしかた : 2011年5月 3日
URLエンコーディング のしかた 文字列を URLエンコード したいときには U...
Android端末 の 固有識別ID の 取得 方法 : 2011年5月 3日
Android端末 の 固有識別ID の 取得 方法 サーバーと連動するとある ...
アプリ名? アクティビティ名? パッケージ名? : 2011年5月 3日
取引先の担当者さんから 「パッケージ名ってなんですか?」 「アプリ名とどうちがう...
IS05 で Androidアプリ開発(Win XP) : 2011年5月 3日
IS05 で Androidアプリ開発(Win XP) パートナーが IS05 ...
EditText の null 判定 方法 : 2011年4月30日
EditText の null 判定 方法 EditText の値が null ...
カスタムダイアログ ( CustomeDialog )の 表示 方法 : 2011年4月 1日
カスタムダイアログ ( CustomeDialog )の 表示 方法 「 カスタ...
Activity 間で オプションメニュー を 共有 する方法 : 2011年4月 1日
Androidアプリを作っていて 「 共有 できたらいいなぁ」 といつも思うのが...
QRコード 読み取り アプリ 用 ライブラリ : 2011年4月 1日
QRコード を 読み取り 機能付きの アプリ 開発 依頼を受けまして 「 QRコ...
Android アイコン の まとめ とか 作り方 とか ジェネレーター とか : 2011年3月27日
Androidの アイコン 関係で いいサイト見つけたのでまとめときます。 iP...
TextView に 下線 ( アンダーライン )を引く : 2011年3月27日
TextView に 下線 ( アンダーライン )を引く アプリ内で 「パスワー...
AdMob の新しい 広告 設定 のしかた : 2011年3月26日
どうやら AdMob の 広告 設定 のしかたが 新しいものに変わったようです。...
SQLite で 「'( シングルクォーテーション )」 を エスケープ する : 2011年3月26日
SQLite で 「'( シングルクォーテーション )」 を エスケープ する方...
あれ? AdMob の 広告 設定 方法が変わった? : 2011年3月23日
しばらく AdMob を使っていなかったので 久しぶりに管理画面にログインしてみ...
初回起動 時のみ 処理 をさせる方法 : 2011年3月23日
初回起動 時のみ 処理 をさせる方法 アプリを開発していると 「初めてアプリを起...
タイトルバー と タスクバー を 非表示 にする方法 : 2011年3月21日
Android アプリ で タイトルバー と タスクバー を 非表示 にして フ...
現在時刻 の 表示 方法 : 2011年3月20日
現在時刻 の 表示 方法 アプリ 内で 現在時刻 を 表示 する必要があって 「...
Android 実機 の スクリーンショット を撮る方法 : 2011年3月18日
Android 実機 の スクリーンショット を撮る方法 アプリ を Andro...
logcat が 表示されない ときの対処法 : 2010年12月 2日
logcat が 表示されない ときの対処法 Androidアプリを開発している...
Xperia ( エクスペリア ) を Android2.1 に アップデート したら 実機 デバッグ ができなくなった! : 2010年12月 2日
Xperia ( エクスペリア ) を Android2.1 に アップデート ...
Android マーケット の プロモーション画像 ってどこで使われるの? : 2010年11月18日
Android マーケット の プロモーション画像 ってどこで使われるの? An...
Androidマーケット の機能が拡張! YouTube 動画 も配信可能に : 2010年11月18日
Androidマーケット の 機能 が拡張! YouTube 動画 も配信可能に...
Android マーケット メンテナンス のお知らせ : 2010年11月17日
Android マーケット メンテナンス のお知らせ Android マーケット...
ListView の クリック を 検知 する方法 : 2010年11月15日
ListView の クリック を 検知 する方法 ListView を実装した...
Androidマーケット の変更が古い アプリ に及ぼす影響 : 2010年11月14日
Androidマーケット の変更が古い アプリ に及ぼす影響 Androidマー...
ListView を スクロール すると 背景 ちらつく : 2010年11月 3日
ListView を スクロール すると 背景 が ちらつく 同じ問題にぶち当た...
TextView の URL に リンク を 設定 する方法 : 2010年10月28日
TextView の表示内容に URL が含まれていた場合に その URL にど...
URL から Bitmap を 取得 ( 変換 )する方法 : 2010年10月28日
Android で URL から Bitmap を 取得 ( 変換 )する方法。...
AdMob が SDK を アップデート : 2010年10月28日
AdMob が SDK をアップデートした模様です。 以下のようなメールが届いて...
プリファレンス を 複数 Activity で 共有 する方法 : 2010年10月20日
Android アプリには設定情報などを保存しておくための「プリファレンス」と呼...
Twitter アプリ の xAuth 申請2 : 2010年10月20日
Twitter アプリ を作りたくて xAuth 認証を使用するための申請を行...
画像 ピッカー で 取得 した 画像 の Uri を Path に 変換 する方法 : 2010年10月19日
Androidの標準機能の画像ピッカーで取得した画像はUri形式には簡単にできる...
Twitter アプリ の xAuth 申請 : 2010年10月15日
Twitter アプリ を作りたくてxAuth 認証を使用するための申請を行いま...
Android の Twitter アプリで401エラー : 2010年10月14日
AndroidでTwitterのクライアントアプリを作ろうと思い、ひとまず書籍に...
LinearLayout をスクロールさせる方法 : 2010年9月25日
LinearLayout ってコンポーネントが増えたら自動でスクロールバーがつく...
CheckBox だけを右寄せにする方法 : 2010年9月25日
ListView でも LinearLayout でもいいんですが、一行のアイテ...
finish() でActivity が終了しない : 2010年9月25日
よくAndroid関連の書籍やサイトなどで『 finish() で Activi...
App Inventorがバージョンアップ : 2010年9月21日
プログラミング不要でAndroidアプリが作れるApp Inventorがバージ...
Android SDK Tools, revision 7 と ADT0.9.8 が リリース : 2010年9月11日
Android SDK Tools, revision 7 とADT0.9.8...
ADT バージョンアップ で エラー : 2010年9月11日
Android SDK の Revision 7 と ADT の Version...
Eclipse ADT の ダウングレード ( バージョンダウン ) 方法 : 2010年9月11日
Eclipse の ADT をダウングレード(バージョンダウン)するには以下のよ...
Eclipse ADT の アンインストール 方法 : 2010年9月11日
Eclipse の ADT を アンインストールするには、以下のようにします。...
Eclipse ADT の バージョンアップ 方法 : 2010年9月10日
Android Developer のサイトから新しいADTがリリースされた案内...
実機 で デバッグ するときの Manifest ファイルの 設定 : 2010年8月31日
実機(Xperia)でアプリ開発をしていて上手くいかなかったのでEclipseの...
App Inventor を使ってみた 感想 その2 : 2010年8月30日
App Inventor を使ってみた 感想のつづきです。App Invento...
App Inventor を使ってみた 感想 : 2010年8月29日
先日招待状が届いた App Inventor をさっそく使ってみました。※App...
アニメーション の デモ アプリ : 2010年8月27日
Androidにはアニメーションを実現するためのクラスがあらかじめ用意されていま...
App Inventor の 登録 方法 : 2010年8月27日
Androidアプリがウェブ上の操作だけでプログラミングを必要とせずに作れてしま...
アプリ 起動中 に バックライト を 点灯 したままにする : 2010年8月21日
スライドショーアプリを作っているんですがスライドショーが長くなるとバックライトが...
Android の アニメーション サンプルコード : 2010年8月20日
Androidで出来るアニメーションをまとめてみました。...
the user data image is used by another emulator. aborting : 2010年8月20日
アプリ開発中にエミュレーターを起動したら急にthe user data imag...
Android の サンプルコード がダウンロードできるサイトまとめ : 2010年8月20日
Androidアプリ開発に役立つサンプルコードがダウンロードできるサイトをまとめ...
Android の システムリソース ( アイコン 等)の 一覧 : 2010年8月19日
Androidアプリを開発しているとシステムリソースとしてあらかじめ用意されてい...
アプリ の実行を数秒止める方法 : 2010年8月19日
アプリの動きを数秒止める方法を探していました。ちなみにシングルスレッドプログラミ...
アンドロイド アプリ の 作り方 講座 (初月無料) : 2010年8月17日
アンドロイド の広がりにともなってアプリ の 作成 講座も増えてきました。アンド...
アニメーション 終了時の状態を保つ方法 : 2010年8月16日
スライドショーアプリ、作成中です。フェードの仕方、アニメーションを待つ方法はわか...
アニメーションの終了を待つ方法 : 2010年8月16日
前回の記事でフェードイン/フェードアウトは実装できたんですがフェードアウトしたと...
Android で画像をフェードする方法 : 2010年8月15日
スライドショーアプリの作成を検討していて、試作アプリを作っていたんだけど画像がパ...
Android アプリ の背景画像を中央寄せにする方法 : 2010年8月15日
Android端末よりも小さい画像を背景に設定しようとしたときレイアウトファイル...
Android ドキュメント日本語翻訳プロジェクト : 2010年8月15日
Android の開発者サイトのドキュメントって、当然ですが英語なんですよね。こ...
Android Market (アンドロイドマーケット)へのリンクの設置方法 : 2010年7月30日
  Android Market (アンドロイドマーケット)の自分のアプリ等にリ...
Android SDKをEclipseからバージョンアップする方法 : 2010年7月20日
先日、SHARP主催のIS-01のタッチ&トライセミナーに参加してきたんですが、...
EclipseでMS932がサポートされていないと言われた件 : 2010年7月14日
 とある韓国のサイトから「あんたのアプリ、紹介していいかい?」というメールが(...

今日のキーワード

当サイトのRSS

カテゴリー

Twitterボタン

アンドロイドナビについて / 記事投稿してみませんか? / イベント情報募集
Copyright (C) 2012 All Rights Reserved Android アプリ の 研究所 アンドロイド ナビ