S60開発・設定リストのスライダ設定アイテムをカスタマイズ(1) (2006-10-17)
数値に単位をつけたい
設定リストにおける「スライダ設定アイテム」は、一定範囲内の数値を入力させる際などに有用なコントロールです。しかし、デフォルトのままでは何かと使いづらい点があるので、カスタマイズしてみます。
まずはこちら。
→
デフォルトのままだと、現在のスライダが示す数値がそのまま表示されますが、この数値に単位をつけて表示してみました。
リソースファイル
この程度の変更であれば、ソースコードには手を入れずに、リソースファイルの修正のみで可能です。
RESOURCE SLIDER r_getpixels_slider_delaytime { layout = EAknSettingsItemSliderLayout; minvalue = 0; maxvalue = 60; step = 1; valuetype = EAknSliderValueBareFigure; minlabel = "0秒"; maxlabel = "60秒"; valuelabel = "%U秒"; }
重要なのは、"valuelabel"フィールドです。見てのとおり、ここでの"%U"という文字列の部分に、現在のスライダが示す数値が入った状態で表示が行われるようになります。
(なお、上記例はあくまでサンプルなので、各種フィールドに文字列リテラルを直接埋め込んでいますが、本来ならばローカライズ等を考慮して、文字列リテラルは別ファイルにて定義するべきです)