アプリの動作設定等を行う画面。
なんとなくわかってきたので、必要手順等、作成方法をまとめておく。
なお、「設定モード」としたのは、画面のみの作成に止まらない、全体的なものであるから。
以下の作業に、特に順番はない。
◆設定画面の作成
[ AndroidManifest.xml ]
●Activity の追加
PreferenceActivity を追加する。
●↓のように、の中に記述。
AndroidManifest.xml
1 2 3 | <application> <activity android:name="MyPrefs"></activity> </application> |
※.は、既存のもので新設はしない。
※.”MyPrefs” は、PreferenceActivity のclass名。(任意)
[ MyPrefs.java ] extends PreferenceActivity
●PreferenceActivity の作成
PreferenceActivity を継承したclassを作成する。
●PreferenceActivity の役割
有体にいえば、「設定画面の起動(表示)」。
画面内容自体は、別のxmlに記述する。
●xmlの指定
MyPrefs.java
1 | addPreferencesFromResource(R.xml.prefes); |
※.prefes は、画面内容のxml名。(任意)
[ prefes.xml ]
● prefes.xml の作成
ファイル名に特に決まりはない。
PreferenceActivity から引用されるので、それの記述に合わせる必要がある。
・作成場所
/res/xml/
● prefes.xml の役割
有体にいえば、設定画面の内容。
記述内容がそのまま画面に表示される。
※.記述内容についてはここでは解説しない。
◆設定画面の実行(表示)
●概要
設定画面の実行は、Intent によって行う。
Intent を作成し、そのIntent に PreferenceActivity を割りつける、ことになる。
例えばボタンであれば、onClick()で↓を実行する。
<例>
1 2 | Intent intent = new Intent(this, com.migimaki.android.MyPrefs.class); startActivity(intent); |
※.Intent の第二引数は、パッケージ名となることに注意。
ざっと、こんなところだろうかね。
動作から推察するに、「アプリmainのActivityから、別のActivityを実行する」といったところかな。
フツウのclassとちがって、呼び出し側・実行側に内包されない。
そこでちょっとした問題。
「Activity の遷移」なので、”戻る”ボタンで戻れてしまうのだ。
便利といえば便利なのだが、ゲーム系だと予期しない動作を引き起こしかねない。
ちょっと注意が必要だね。