ListView.setFastScrollEnabled(true);の見た目違い
ListViewのスクロールは、たくさんあると結構な労力になります。で、それを補助するためににょきっと出てくるスライダーがあるんですが、2.3(GB)と4.0(ICS)では、出てくる物が違ったので、メモ。
左は、xperia neo(2.3.4)で、右はGalaxyNexus(4.0.3)です。
2.3.4ではにょきっとでるおなじみのアレですが、4.0.3では縦線+ちょい太めのスライダー。
なんか寂しい気がしますね。
ListViewに表示されてるのは、MH3Gのクエスト一覧です。
らんくえのMH3G版を作ろうとしてて、前回めんどくさくてやってなかったContentProvider使ったクエストリスト、今回はデータ作って実装しました。ContentProviderの動作とデータのチェックでListViewに一覧表示してます。
もう、3DSのモンハンも一段落しちゃってる人ばかりだったり、同じようなアプリが出てきてるのでリリースするかわかりませんが、DBの初期化とかアップデートの方法とか研究しながらなので一通り完成させてから考えますかね。
レイアウトもICSっぽく(?)-passgenを最新SDKに対応させる3
書籍収録分のPassGenは1.6を想定した作りになっているので、ボタンその他をすべてレイアウトから書き換えて見た目の変更なんかをやってました。
9patch画像を使いつつ、ボタンのデザインを変えてみたりといろいろ実験していたわけですが、今回は色合いなどはなるべくICSの基本構造に合わせて、UIパーツも差し替えていく感じでレイアウトを書き換えていきました。
使う文字種については、ON/OFFできるswitchと置き換えています。基本的な動きは以前使っていたCheckTextBox(ToggleButtonを継承した自前クラス)と変わらないので、プログラム的な書き換えはほとんど必要なかったです。
文字数の指定は、左右に配置したボタンをやめてSeekBarを使うことにしました。onProgressChangedイベントを使って、文字数表示を制御しています。
これ以外では、文字色を緑から蒼系統に書き換えたり、ActionBarを使ってメニュー項目を減らすなどの対応を行いました。ActivityからFragmentに書き換える部分などは、前回前々回の記事でまとめた作業をそのまま使ってます。
そんなわけで、見た目など含めて最新OSに対応したものになりました。2.3端末へのActionBar対応だとか、4.0の端末がそれほど存在しないとかいろいろとあるので、公開するかどうかは微妙ですけども。
startManagingCursorはdeprecated–passgenを最新SDKに対応させる2
昨日は「ActionBarにアイコンを追加してみた」という記事で最新UIに対応する見た目にする努力をしてみました。
そのときにソースを見ているとAdd @SuppressWarnings ‘deprecation’ to ‘setListViewAdapter()’なんていうのがちょこちょこと出てまして、なんでだろとリファレンスを見てみると次のようなことがわかってきました。
- startManagingCursorは、Fragmentとの兼ね合いもあってCursorLoader経由でUIスレッドではなくバックグラウンドで実行されるようになった
- SimpleCursorAdapterのコンストラクタには、フラグを追加する必要がある
- クリップボードにコピーするときにコピーした内容を識別するための名前とMIMEタイプを指定するようになった
そんなわけで、今日も対応した内容に書き換えていくことにします。
