2012-02-21 12 views
0

すべての画面サイズを正しく表示する必要があるAndroidアプリケーションを作成しています。私は異なるdrawableリソースフォルダで解像度に応じてdrawableをスケールすることができましたが、どうすれば純粋なテキストで同じ結果を達成できますか?Androidはさまざまな画面をテキスト化します

これを達成するには、実際に別のレイアウトフォルダを使用する必要がありますか?

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

+0

テキストサイズをpxの代わりにdipで設定します。 – jeet

+0

文字サイズはsipを使用し、他のすべてのサイズはdipを使用します。 – PravinCG

答えて

5

テキストサイズにはspを使用してください。

SP

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

dp/dipから

も動作することができますが、ユーザーは好みのフォントは含まれていません。

+0

ありがとう、私は早くこのアプローチを試みたと突然それは私の質問:)したがって動作を停止した –

0

テキストビューのみの場合。 xmlのtextviewでサイズad dpを宣言します。 dpは画面の解像度に関連するデシピセルであり、それに応じてテキストビューのサイズが調整されます。

0

私はそのために自分が書いた方法を使用.. 2つのディスプレイ(1024x720、800×480)のために働いて、それはあなたのために働く願って、あまりにも

クラス:

 //this is a seperated class, for button textsize 
     //declaration of standardvalues 

     public class Fontstyles { 
      static int INT_standardwidth = 1024, INT_standardsize = 50; //do not change 

      public static double BTN_TXT_size(Button BTN_X) { 
       Point size = new Point(); 
       YourMainActivity.DIS_main.getSize(size); 
       int INT_width = size.x; 
       if (BTN_X.getText().length() == 0) 
        return 0; 
       // width of display     (INT_width) 
       // width standartvalue    (INT_standardwidth) 
       // standardfontsize     (INT_standardsize) 
       return ((float) ((INT_width * 100/INT_standardwidth) 
         * (INT_standardsize * (INT_width * 100/INT_standardwidth)/100)/100)); 
      }} 

このYourMainAvtivityである:

public static Display DIS_main; 
DIS_main = getWindowManager().getDefaultDisplay(); 

と、この(あなたから好きな場所)sizecalculationを呼び出すためのものです:TextViewsButtonため

YourButton.setTextSize((float) Fontstyles.BTN_TXT_size_(YourButton)); 

作品。

ご使用後はご返信いただき、ディスプレイに対応しているかどうかを教えてください。

関連する問題