AndroidのTextViewは、英単語が途中で改行されてしまわないようにワードラップ処理をしてくれます。
日本語の禁則処理もしてくれているようなのですが、どうにも不自然で納得できません。(句読点の直後に改行が入らず次の1文字も巻き込んで計算されるなど)
ソースを追うと、TextViewのプライベートメンバ mLayout で保持される StaticLayout がワードラップ処理をしているようです。(setText()に Spannable を渡すと mLayout自体は DynamicLayout になりますが、DynamicLayout が内部で StaticLayout を作ります)
うまいことワードラップする Layoutクラスを作ってリフレクションで mLayout に設定する方法もあると思うのですが、StaticLayoutはそこそこボリュームがあって手を出すのは心が折れるので、InputFilter を使う方法でワードラップ処理を改造してみました。
2012年1月29日日曜日
2012年1月23日月曜日
リバースプロキシとSubversion
Apacheのリバースプロキシ越しにSubversionサーバを立てていたら svn mv や svn cp (それをバックグラウンドで行う svn merge も)ができなくてハマったので解決策のメモ。
2012年1月18日水曜日
ChromeでWebGL
WebGLの仕様上のセキュリティ問題の対策のためと思われるのですが、現在の Chrome(Chrome 16)では WebGL がデフォルトで無効になっているようです。(ソースは見つけられませんでした…手元にある2台の(世代の違う)iMacでどちらもデフォルト無効だったのでそう判断しています)
せっかくChromeウェブストアにおもしろそうなゲームがあっても、WebGLデモサイトにステキなサンプルがあっても、そのままでは表示することができません。
せっかくChromeウェブストアにおもしろそうなゲームがあっても、WebGLデモサイトにステキなサンプルがあっても、そのままでは表示することができません。
2012年1月10日火曜日
2012年1月8日日曜日
2012年1月4日水曜日
ActionBarCompat
GALAXY NEXUS が発売されてAndroid 4.0(ICS)端末が市場に出てきました。
Honeycombで搭載されたActionBarがいい具合にスマホ化されていてカックイイです(*゚∀゚)
Android SDKのサンプルに、ActionBarCompat という、バージョン差を吸収してActionBarを表示する(Honeycombより前のAndroidではActionBarモドキを表示する)アプリがあったので、Toroくんのブログを参考に拙作 あとでよむ twiccaプラグイン に組み込んでみました(Ver.1.2)。
ところが直後から「IS01で起動できなくなった」「SH-10B(LYNX)で動かない」というコメントが…orz
おかしいな、エミュレータで Android 1.6 でも動くことを確認したのに。。
実機を借りて確認したら AbstractMethodError で落ちてました。ぐぬぬ…
Honeycombで搭載されたActionBarがいい具合にスマホ化されていてカックイイです(*゚∀゚)
Android SDKのサンプルに、ActionBarCompat という、バージョン差を吸収してActionBarを表示する(Honeycombより前のAndroidではActionBarモドキを表示する)アプリがあったので、Toroくんのブログを参考に拙作 あとでよむ twiccaプラグイン に組み込んでみました(Ver.1.2)。
ところが直後から「IS01で起動できなくなった」「SH-10B(LYNX)で動かない」というコメントが…orz
おかしいな、エミュレータで Android 1.6 でも動くことを確認したのに。。
実機を借りて確認したら AbstractMethodError で落ちてました。ぐぬぬ…
登録:
投稿 (Atom)