設定アクティビティに設定値の表示


左側:前項の設定アクティビティ(赤枠部:色の設定項目の設定色がわからない)
右側:本項の設定アクティビティ(赤枠部:色の設定項目の設定色がわかる)

設定アクティビティを作成する方法を解説します。

前項「色設定プリファレンス」で作成した設定アクティビティは、 「色を設定する設定項目」の設定色は表示されません。設定色を確認するには、設定項目をクリックし、「色設定ダイアログ」を表示する必要があります(上図左側)。
本項では、設定アクティビティに、「色を設定する設定項目」の右側に設定色が表示されるようにします(上図右側)。

解説

前項に対する処理の変更は以下です。

実装

アプリの仕様

プロジェクトを開く

色設定プリファレンス」で作成したプロジェクトを開きます。

ウィジェットレイアウトの作成

設定アクティビティの設定項目の右側に設定色を表示するためのウィジェットレイアウトを作成します。

「Project」ペインの「app > res > layout」を右クリックします。
右クリックメニュー「New > Layout Resource File」を選択します。

File name欄に「widget_colorimage」と入力します。
「OK」ボタンを押します。

widget_colorimage.xml が作成されます。

レイアウト内容を、設定色を表示するためのImageViewのみにします。

widget_colorimage.xml の内容を以下のようにします。

設定値表示テキスト編集プリファレンスクラスの作成

設定アクティビティに設定色を表示する色設定プリファレンスクラスを作成します。

「Project」ペインの「app > java > ドメイン.パッケージ名」を右クリックします。
右クリックメニュー「New > Java Class」を選択します。

クラス名欄に「DisplayValueColorPreference」と入力しエンターキーを押します。
続いて表示されるダイアログは、内容変更せず、「OK」ボタンを押します。
「DisplayValueColorPreference」クラスができました。

「DisplayValueColorPreference」クラスファイルの内容を以下のようにします。

プリファレンスファイルの編集

プリファレンスファイルに定義した「色を設定する設定項目」のプリファレンスクラスを、設定色を表示するプリファレンスクラスに変更します。

プリファレンスファイル「root_preferences.xml」の内容を以下のようにします。


リビルドし、エラー、警告がないことを確認します。

実行

Android端末にて、動作確認。

設定アクティビティに、 「色を設定する設定項目」の設定色が、設定項目の右側に表示されます(赤枠部)。設定値を確認するにために設定項目をクリックする必要がなくなりました。
それ以外はの動作は、前項と変わりません。

ダウンロード

サンプルコード

github.com上のリポジトリページ

関連ページ