2012-04-16 3 views
0

XMLファイルで使用されるdpがアクティビティで使用されるdpと同じではないのはなぜですか?私は幅の20dpとXMLファイル内のTextViewを作成すると、そのサイズは画面のすべての異なる種類で同じになりますが、私はこれを使用する場合:アクティビティとXMLに関するdpi

int sizeInDip = 20; 
int width= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, sizeInDip, getResources().getDisplayMetrics()); 

サイズは、画面のすべてのタイプが異なっています。

私は、アクティビティとXMLファイルの両方でdpを使用して同じ結果を得る方法があるかどうかを知りたいと思います。

ありがとうございます!

答えて

0

なぜあなたはそれをやっていますか? IIRCでは、プログラムで呼び出すことができるTextView.setSizeメソッドを使用し、そのサイズを20dpに設定するだけです。また、テキストサイズにsp(スケーラブルピクセル)を使用する必要があります

+0

これはほんの一例です...画像、パディング、余白、レイアウトなどに 'sizeInDip'を使用する場合はどうしたらいいですか? '20dp' setTextSize cuzの中に' int'だけを導入する必要があります... –

+0

アイデア?助けが必要です... –

+0

setTextSize()は浮動小数点数をとるので問題ありませんが、ドキュメントに応じて「スケールされたピクセル」として解釈されます。これは必要なものです。 –