アンドロイドでよくある設定画面。
どうやって作るのか?
最初、レイアウトで独自に作ったり、
リストビュー(ListView) を使うのかと思ったりして遠回りしましたが、
正解は、PreferenceActivity を使うことです。
XML (レイアウトのとは別) へ定義するだけで、自動的に設定画面風に表示され、かつ、自動的にプリファレンスに保存までしてくれます!
個人的に、超感動!
やり方は、ググれば出てきますが、読んでるだけじゃイマイチ分からないかも?
実際にやってみて、理解できました。
ここでも後日、解説を書こうと思います。
書きました↓
追記)やり方
①プリジェクト右クリック→New→Android XML File →Resource Type でPreference を選び、ファイル名はご自由に。
②(勝手に出てくる場合もありますが)Preference.XMLのファイルを右クリック→Open With →Android Xml Resources Editor を選択するとGUIの画面になります。
③Add... ボタンをクリックして設定したい要素を選択します。
※TOPに置くのか、配下に置くのか、ラジオボタンの選択が出る場合もありますが、あまり気にしなてくていいと思います。
あとはドンドン追加して設定していくだけ。
☆ 設定出来る要素の種類
・CheckBoxPreference
チェックボックスが設定できます。
最低限、必要だろう指定は、
・Key :プリフェランスに保存してくれる時に設定するKey (呼び出す時、分かるように。)
・Title :(チェックボックスに)表示する文字列
の2つだけかな。
Summary on/off でチェックボックスにチェック入った時とそうでない時のメッセージを指定できる。(コードに書かなくていいので簡単!)
最初からチェック入れておきたい時は、Default value にtrue と直接記述する。
・EditTextPreference
文字編集、保存できます。
最低限必要な指定は、上のCheckBoxPreference と同じ。
・ListPreference
ラジオボタン付きのリストが表示される。(選択できるのは1つだけ)
最低限必要な実装は、
・Entries :画面上のリストに表示する文字列
・Entry values :そのリストの各要素が、実際に保持している値
これらは、values でstring型のarrayリストとして設定します。
(ちなみにint型のarrayリストをEntry values の方に設定したら見事エラー^^; String型しか対応してない?)
あとは同上。
デフォルトで選択させておきたい場合は、やはりDefault value にvalues に設定した値を書きます。
・Preference
特に機能のない項目が作れます。
もちろん機能ないといっても、Java側で、この項目をクリックしたら~するとか、そういうのは好きなように実装できます。
・PreferenceCategory
設定画面の中の、サブタイトル的な表示になります。
Title に文字列指定するくらい?
・PreferenceScreen
この設定画面の大元。タイトルバーにバッチリ表示されます。
これも基本的には、Title に文字列指定するくらいかなと思いますが、
使い方のポイントしては、これ入れ子に出来るんですね。
入れ子にすると、次の画面が簡単に作れます!
・RingtonePreference
使ったことないんで、ノーコメント^^;
0 件のコメント:
コメントを投稿