2012-05-17 16 views
5

ここでは、すべての画面サイズと解像度のデバイスで実行できる1つのAndroidアプリケーションを開発します。しかし1つの問題があります。TextView'sフォントサイズはすべてのスクリーンサイズで同じです。 ScreenSizeと画面解像度に応じてFontSizeを変更したいとします。TextView FontSize異なる解像度とスクリーンサイズ

ありがとうございました。

+0

私たちが知るようにいくつかのコードを記入してください。 –

+1

check [http://stackoverflow.com/questions/10595795/button-and-size-of-text/10596355#10596355] (http://stackoverflow.com/questions/10595795/button-and-size-of-テキスト/ 10596355#10596355) – silwar

+0

1. ** sp ** .を使用してください2.チェックhttp://stackoverflow.com/questions/2617266/how-to-adjust-text-font-size-to-fit-textview –

答えて

0

これを行うには、レイアウト - 大、レイアウト - 小、レイアウト - ノーマル、レイアウト - xlarge in resフォルダなどの必要なフォルダを作成する方法があります。あなたはまだ行っていない場合

2

まず、あなたがこの

http://developer.android.com/guide/practices/screens_support.html

は、いずれかを提供するために読むべきものをフォルダにあなたのXMLSを配置し、テキストビュー、何をどうしたいものは何でも変更しますテキストに適用できるスタイルも含めて、Using configuration qualifiers

ここにもう1つの有用な文書http://developer.android.com/guide/topics/resources/more-resources.html#Dimensionは、テキストの適切な単位を選択するのに役立ちます。理想的には、抜粋で説明したようにspを使用することをお勧めします。

SP

スケールに依存しないピクセルは - これは、DPユニットと同様であるが、それはまた、ユーザのフォントサイズの嗜好によってスケーリングされます。フォントサイズを指定するときは、 を使用することをお勧めします。そのため、画面の密度とユーザーの好みの両方で調整されます( )。

希望するものがあります。

0

dipまたはdpの代わりにsp単位のフォントサイズを使用する必要があります。 spは、スクリーンピクセル密度に応じて調整するスケール独立ピクセルです。ここには正確な違いがあります。

DP

密度に依存しないピクセル - 画面の物理的密度に基づいている抽象ユニット。これらの単位は160 dpiの画面を基準にしているため、1 dpは160 dpiの画面上の1ピクセルです。 dpとピクセルの比率は画面の密度に応じて変化しますが、必ずしも正比例ではありません。注意:コンパイラは "dip"と "dp"の両方を受け入れますが、 "dp"は "sp"と一貫しています。

SP
スケールに依存しないピクセル - これは、DPユニットと同様であるが、それはまた、ユーザのフォントサイズの嗜好によってスケーリングされます。フォントサイズを指定するときは、本機を使用することをお勧めします。そのため、画面の密度とユーザーの好みの両方で調整されます。

4

Screen Categoryからコードを使用するかのようなgetSize()メソッドを使用します。画面のサイズを取得し、それに応じてsetTextSizeを使用してフォントサイズ()メソッドを設定することが記載hereよう

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

、あなたも考慮することができますフォントサイズはsp単位です。あなたのxmlファイルへ

-3

移動してTEXTSIZEを追加します。

android:textSize="20sp" 

これはあなたのフォントサイズ

1

こんにちはあなたのリソースフォルダ内に以下のようにフォルダを作成し、それへのあなたのXMLファイルをコピー増加します今すぐあなたはそれが画面サイズを変更することができますに基づいてさまざまなサイズの画面を表示するパレットウィンドウを確認することができます。

レイアウト-大、レイアウト、小型、レイアウトXLARGEは、今では画面サイズのすべての種類にサポートします。フォントサイズは、明確な画面サイズに基づいて行われます。複数の画面をサポートするための詳細については、android documentationをご確認ください。

1

自動画面の高さは854、その使用フォントサイズである場合

Display display; 
Point size; 
int width, height; 
float txtsize; 

宣言このコードを使用して、画面ごとにフォントサイズを調整し(OnCreate関数で使用)

display = getWindowManager().getDefaultDisplay(); 
     size = new Point(); 
     display.getSize(size); 
     width = size.x; 
     height = size.y; 
     txtsize=height*0.024f; 

/* 20.4 */

このコードを使用すると、テキストビューにサイズを設定することができます。

textView.setTextSize(txtsize); 
関連する問題