« Android1日セミナー無事、終了しました。 | メイン | 『アンドロイダー』に紹介して頂きました。 »
2011年06月11日
getTextSizeとsetTextSizeのデフォルト単位は違うらしい。。
TextViewの文字サイズを取得して拡大縮小しようと思ったのですが
全然うまくいきません。試しに、
float size = textView.getTextSize();
textView.setTextSize(size);
と同じ値を入れてるだけなのにどんどん文字が大きくなり、
なんで!?と思って調べると、、、
getTextSizeは取得結果がピクセル単位、
setTextSizeでセットするときの値はデフォルトがSP単位
でした。
対処としては、
setTextSizeに単位を設定する引数を追加すればOKでした。
こんな感じです。
float size = textView.getTextSize();
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
TypedValue.COMPLEX_UNIT_PX ・・・ピクセル単位
TypedValue.COMPLEX_UNIT_SP ・・・SP単位
TypedValue.COMPLEX_UNIT_DIP ・・・DIP単位
投稿者 miyaware : 2011年06月11日 09:08