2012-03-02

WebViewで文字が重なってしまうらしいが原因不明

WebViewを使っているAndroidアプリで、文字が重なってしまうという報告が韓国からありました。対応したいのですが、困ったことに機種依存のようで、こちらでは現象を再現することができません。問題の起こっているのは、Samsung Galaxy S2LTEだということです。韓国でだけ(あるいは韓国語表記でだけ)生じる現象なのかどうかは未確認です。

ほとんどWebViewでHTMLを表示しているだけのアプリなので、とりあえずデフォルトのブラウザで同じページを開いてみて問題が起こらないかを確認してもらいます。けど、おそらくダメでしょう。こちらでできることとしては、
  1. エミュレータのいろいろなバージョンで確認してみる
  2. 電気屋に行ってGalaxyS2を試してみる
  3. CSSでline-heightを明示的に指定する
  4. どこかに怪しげな処理がないかソースを確認する
くらいでしょうか。結局迷宮入りになってしまうような予感がしますが。

危うくline-heightを指定する際の注意点を忘れるところでした。line-heightにはemなどの単位を指定しないという注意点です。

* line-heightを明示的指定してサーバーを更新しました。まだ問題が生じるか確認してもらいます。line-heightのデフォルト値は、normalという値なので、明示的に高さを指定すれば、いい結果が得られるかもしれません。
WebViewには、Androidバージョンに依存するバグが潜んでいることがあるようです。以前に気づいたのは、Android3.xでJavaScriptのStringのreplaceで、第2引数に関数を渡すと正常に処理してくれないというのがありました(エミュレータで確認)。

0 件のコメント: