2010年12月2日木曜日

シークバーに最小値の概念が無い

今つくっているアプリが大分整ってきたので、設定画面もつくりはじめました。

そんな特殊なことは無いのでpreferenceActivityを継承したアクティビティ作って、xmlで記述したレイアウト(?)を読み込むだけ。

これだけで保存も読み込みも自動でされるんかー。 便利ですなぁ。


しかし、またもや罠。
eclipseでパーツ追加しようと思うとーーー。

CheckBoxPreference
EditTextPreference
ListPreference
RingtonePreference

むむむー。当然あるであろうと思っていた「シークバー」が無い。
するってーと、何かと自作しなきゃなのかー!
って、さらに調べてたら、なんかもう誰かさんがつくっていたっぽい。
http://android.hlidskialf.com/blog/code/android-seekbar-preference

まぁ、素敵。
ということで、使ってみたんだけども。

(ここでやっとタイトル)なんと、シークバーには最小値の概念が無い。びっくり。
maxがあるのにminがないとは!!これいかに!

と、いうわけで、結局、拾ってきたシークバーはそのままでは使えなかったので、ちょっとだけ変更しました。

具体的には、最小値もセット出来るようにして、最大値は max - min としてあげる。
4~32のシークバーが欲しければ、maxは32ではなくて、32-4の28として、シークバー内部の値としては0~28。
でも、画面の表示や、取得時の数値は+minをして4~32に戻す・・・と。

こんな小細工をみんなしてるもんなんでしょうかーー。


0 件のコメント:

コメントを投稿