これまでAndroidアプリの開発でも Emacs + ant を使っていたのですが、今年はいろいろ新しいことも始めるゾ!という意気込みでどうもみんなが使ってるらしい Eclipse + ADT を使いはじめました。宣言
旧来Emacs + ant でビルドしていたプロジェクトディレクトリを丸ごとそのまま Eclipse にインポートしようとしたら AndroidManifest.xml file missing! と言われてしまって完了できなかったので対策メモ。
2012年1月31日火曜日
2012年1月29日日曜日
TextViewのワードラップ
AndroidのTextViewは、英単語が途中で改行されてしまわないようにワードラップ処理をしてくれます。
日本語の禁則処理もしてくれているようなのですが、どうにも不自然で納得できません。(句読点の直後に改行が入らず次の1文字も巻き込んで計算されるなど)
ソースを追うと、TextViewのプライベートメンバ mLayout で保持される StaticLayout がワードラップ処理をしているようです。(setText()に Spannable を渡すと mLayout自体は DynamicLayout になりますが、DynamicLayout が内部で StaticLayout を作ります)
うまいことワードラップする Layoutクラスを作ってリフレクションで mLayout に設定する方法もあると思うのですが、StaticLayoutはそこそこボリュームがあって手を出すのは心が折れるので、InputFilter を使う方法でワードラップ処理を改造してみました。
日本語の禁則処理もしてくれているようなのですが、どうにも不自然で納得できません。(句読点の直後に改行が入らず次の1文字も巻き込んで計算されるなど)
ソースを追うと、TextViewのプライベートメンバ mLayout で保持される StaticLayout がワードラップ処理をしているようです。(setText()に Spannable を渡すと mLayout自体は DynamicLayout になりますが、DynamicLayout が内部で StaticLayout を作ります)
うまいことワードラップする Layoutクラスを作ってリフレクションで mLayout に設定する方法もあると思うのですが、StaticLayoutはそこそこボリュームがあって手を出すのは心が折れるので、InputFilter を使う方法でワードラップ処理を改造してみました。
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日日曜日
登録:
投稿 (Atom)