今つくっているアプリが大分整ってきたので、設定画面もつくりはじめました。
そんな特殊なことは無いので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 件のコメント:
コメントを投稿