2012-02-21 72 views
0

我正在構建一個android應用程序,需要在所有屏幕尺寸上看起來不錯。我已經設法根據不同的可繪製資源文件夾的分辨率來繪製drawable,但是我怎樣才能達到與純文本相同的效果呢?Android的textsizes不同的屏幕

我真的需要使用不同的佈局文件夾來實現嗎?

感謝您的幫助!

+0

設置文本大小而不是px。 – jeet 2012-02-21 11:33:12

+0

文字大小應該使用sip,而所有其他大小使用dip。 – PravinCG 2012-02-21 11:43:20

回答

5

對文字大小使用sp,你應該沒問題。

SP

量表無關的像素 - 這是像DP單元,但它也是 通過用戶的字體大小偏好縮放。建議您在指定字體大小時使用本機的 ,因此它們將根據屏幕密度和用戶偏好進行調整。

Dimensions

dp/dip也能正常工作,但不包括用戶的字體首。

+0

謝謝,我早些時候嘗試了這種方法,並突然停止工作,因此我的問題:) – 2012-02-26 23:24:03

0

如果它僅用於textview。在xml中的textview中聲明尺寸ad dp。 dp是與屏幕分辨率相關的desipixels,並且textview大小會相應調整。

0

我用自己編寫的方法_的兩個顯示器(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(無論你想從):

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

作品TextViewsButton

使用後請回復並告訴我這是否適用於您的顯示器。