2012-05-17 60 views
5

這裏我開發了一個Android應用程序,它可以在所有屏幕尺寸和分辨率設備上運行。但有一個問題是我的TextView's Fontsize在所有屏幕尺寸上都是相同的。我想根據不同的ScreenSize和屏幕分辨率更改FontSize根據不同分辨率和ScreenSize的TextView字體大小

在此先感謝。

+0

把一些代碼,所以我們會知道。 –

+1

檢查[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

做到這一點的一種方法是在res文件夾中創建必要的文件夾,如佈局大,佈局小,佈局正常,佈局大小。並把你個XML到這些文件夾,然後更改任何你想要的文本視圖和什麼做

2

首先,如果你還沒有這樣做的話,你應該閱讀這

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

提供任何資源,包括樣式,可以適用於文字,你應該閱讀部分Using configuration qualifiers

這裏的另一個有用的文件http://developer.android.com/guide/topics/resources/more-resources.html#Dimension應該可以幫助您與文本選擇措施的權利單位,最好要使用SP的中摘錄的解釋:

SP

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

希望有所幫助。

0

您應該使用sp單位的字體大小而不是dipdpsp是根據屏幕像素密度自行調整自身比例的獨立像素。這裏是確切的區別。

DP

密度獨立像素 - 即是基於屏幕的物理密度的抽象單元。這些單位相對於160 dpi屏幕,所以一個dp是160 dpi屏幕上的一個像素。 dp與像素的比率將隨着屏幕密度而變化,但不一定成正比。注意:編譯器同時接受「dip」和「dp」,但「dp」與「sp」更加一致。

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

4

Screen Category使用代碼或使用getSize()方法,如:

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

描述here得到屏幕大小和,然後設置字體大小相應地使用setTextSize()方法,你也可以考慮使用sp單位字體大小。

-3

轉到你的XML文件,並添加TEXTSIZE爲:

android:textSize="20sp" 

這將增加字體大小

1

嗨創建的文件夾,如下面的資源文件夾,然後將其XML文件複製現在你可以檢查調色板窗口,它會顯示不同尺寸的屏幕,基於你可以修改屏幕尺寸。

佈局大,佈局小,佈局XLARGE,

現在,它支持所有類型的屏幕尺寸和您的字體大小將明確根據屏幕大小。有關支持多屏幕的更多信息,請查看android documentation

1

自動通過使用此代碼

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; 

/*如果你的屏幕高度是854及其使用的字體大小20.4 */

設置大小爲textview只使用此代碼..

textView.setTextSize(txtsize); 
相關問題