海月玲二
2012-12-17(月)

無題

SKK for androidで文章を書いていると,候補ウインドウの扱いが気になる.ふだんはまあいいのだが,画面最下部(候補ウインドウとかぶる位置)で入力してると,候補ウインドウが出るたびに画面全体が上にずれるのがどうもうっとおしい.

どうやら,android IMEのcandidates viewというのは,何をどうやってもこの動きにしかならないらしい.ソフトウェアキーボードを使うときは,あれにくらべれば候補ウインドウなんて些細なことだからどうでもいいだろうが,SKK for androidみたいに候補ウインドウだけ使ってる場合は気になってしょうがない.PCのIMEみたいに,必要に応じて入力位置の上に出たりしてほしかったのだが,どうもそういうことは不可能なようだ.そもそも,IMEから入力位置の座標を知る方法もなさそうな雰囲気.

しょうがないので,suggestionのとき(変換候補じゃなくてキーの候補を出してるとき)はそもそも非表示に,また変換候補を選ぶときも最初の数回では表示されないようにしてみた.ぴょこぴょこ画面が動く頻度はかなり減ったので,とりあえずこれでしばらく試してみよう.変換候補を選ぶときの候補ウインドウは,本当は出たほうが便利ではあるんだがな…….

というわけでSKK for androidをひさしぶりにバージョンアップした.前のエントリで書いた候補ウインドウをひかえめにする件のほかに,なんとなく思いついて辞書ファイルを内部ストレージに置くように変えてみた.IS01で使ってると時々あった,妙にひっかかる瞬間が減ったような気がする.このバージョンだと,いちおう,android用日本語IMEとしてはトップクラスで軽いほうだと言ってもいいんではなかろうか.ていうかIS01のSDスロットがヘボいのが問題なんだけど.

サイズ的にアレかなあと思わないでもなかったが,他のIMEでも辞書を内部に持ってるのがあるようだし,まあいいかと.というか全部で12MB程度だし,そんな非常識に巨大というほどのこともないよね?

それと,別アプリになってる必要がないことに気づいたので,ユーザー辞書ツールを統合した.1.6を入れた場合,前のバージョンのSKKDicToolは消しちゃって大丈夫.

ところで辞書はassetsに入れたのだが,その場合数メガ超のファイルは圧縮しないと駄目で,つまり最初に一回解凍する必要がある.そのためにわざわざ専用のactivityを用意するのが微妙にめんどくさい.あとBroadcastReceiverを用意してアップデート後に勝手に辞書展開を始めさせようかとも思ったが,なんかウザい気がするのでやめた.

TreeNoteのテキストボックスサイズを可変にする機能だが,なんとか動いているようなのでとりあえず公開してみた.正直Layoutの自作とかよくわからないので,ほかの人が作ったものを使ってるわけだが.要するに,Layoutを作るときはonMeasure()とonLayout()が重要なのかな.

さんざんあちこちで「画面サイズに合わせてコンポーネントを組みあわせられるフレキシブルなUIが作れますよ」的な宣伝をしているので,Fragmentについても調べてみたのだが,別にあまり役に立ちそうでもなかったので大層がっかりだ.あれは「全画面を占有するとは限らないActivity的なもの」にすぎないので,それをどうやって画面に配置したり生成消滅を管理したりするかは全然別の話で,Layoutとか組みあわせて勝手にやれってことらしい.そこの管理を簡単にする仕組みは作ってないのかよ.

それから,ファイルマネージャとかでテキストファイルを開こうとしたときに出てくる,「どのアプリで開きますか」リストにもTreeNoteが登場するようにしてみた.しかし世の中でファイルを開こうとするときどういうIntentを出すのが普通かよく知らないので,ちゃんとできてるのか不安が残る今日このごろ.とりあえずGhostCommanderからは開けたけど.

あとフォントサイズの選択肢を増やしてみた.でも,開く/閉じるのアイコン(丸に矢印のやつ)のサイズは可変じゃないので,あんまりフォントを小さくしたところで行間が広くなるだけだな.まあ,テキストボックスでは意味がなくもない.

【このトピックへのコメント】
  • やまTreeNoteのバージョンアップ、お疲れさまです&ありがとうございます。
    Dropboxのお気に入りファイルから直接起動できるようになり、ファイルを開ける際の一手間が減ったことで、自分にとっての使い勝手がさらに向上しました。
    これからもよろしくお願いします。
    (2012-12-29 15:33:32)