One Note Jam

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"という文字列の部分に、現在のスライダが示す数値が入った状態で表示が行われるようになります。

(なお、上記例はあくまでサンプルなので、各種フィールドに文字列リテラルを直接埋め込んでいますが、本来ならばローカライズ等を考慮して、文字列リテラルは別ファイルにて定義するべきです)

posted at 2006-10-17 | Permalink

© 2004-2008 ENDO