SSブログ

Android・・・NumberPickerの文字サイズ/文字色変更 [Android]

AndroidのNumberPickerによる数字のロール表示について文字サイズを変更した時の備忘録。

最初、NumberPickerからEditTextを取得しそれに対して文字サイズと文字色を設定したが中心部分の文字サイズ及び文字色は設定した通りになったが少しでも上下にスクロールすると元に戻ってしまった。

調べるとスクロールする度にレイアウトに対してViewが追加されていた。それによってレイアウトの設定情報がクリアされてしまうのでその追加される部分で文字サイズと文字色を設定するように変更。

下記はNumberPickerを継承したクラスを用意して文字サイズと文字色を変更した実装サンプルになる。
このクラスを表示したViewに追加すればロール型の数字スクロール表示が出来る。


------------------------------------------------------------------------
■実装
------------------------------------------------------------------------

public class MyNumberPicker extends NumberPicker {

    public MyNumberPicker(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void addView(View child, ViewGroup.LayoutParams params) {
        super.addView(child, params);
        updateView(child);
    }

    @Override
    public void addView(View child, int index, ViewGroup.LayoutParams params) {
        super.addView(child, index, params);
        updateView(child);
    }

    private void updateView(View child) {
        if (child instanceof EditText) {
            ((EditText) child).setTextSize(TypedValue.COMPLEX_UNIT_SP, 20.0f);
            ((EditText) child).setTextColor(Color.BLACK);
        }
    }
}


とりあえず、これで期待通り文字サイズも文字色も変更出来た。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。