2016-06-20 217 views
-3

如何根據屏幕大小在文本視圖中設置文本的大小,並根據屏幕的高度和寬度動態縮放,而無需根據android中的分辨率創建不同的文件夾。基於屏幕大小的文字大小

在此先感謝

+0

我是能夠成功地解決這一問題通過創建不同分辨率的文件夾並設置字體大小。我在dimens.xml下的values部分下創建了單獨的文件,不同的維度文件是sw320dp,sw480dp,sw600dp,sw720dp和普通文件。希望這有助於sme1。 – sushh

回答

1

此問題將幫助您獲得以像素爲單位的屏幕尺寸。

https://stackoverflow.com/a/1016941/6286125

你可以做一些基本的數學運算,如你所願之後,調整您的文本。

編輯: 正如我已經用DisplayMetrics,我會用這樣的:

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 

int myTextSize = metrics.widthPixels/10; 
textView.setTextSize(myTextSize); 

然後如你所願,使用顯示器的寬度和高度可以調整。

如果您在活動中沒有這樣做,則需要先使用「getWindowManager()」來獲得您的活動。

我建議要檢查的寬度或高度是爲了更大的瞭解,如果你是在肖像或風景和適應你的數學到這個參數:

int myWidth = metrics.widthPixels; 
int myHeight = metrics.heightPixels; 

if(myWidth > myHeight) { //Landscape 
    myTextSize = myWidth/10; 
} else { //Portrait 
    myTextSize = myHeight/10; 
} 
0

我建議你使用的文字大小SP,以支持多個屏幕。

+0

我嘗試使用SP,但它沒有解決問題。所以我爲不同的分辨率創建了不同的文件夾,並相應地賦值。 – sushh