我正在構建一個android應用程序,需要在所有屏幕尺寸上看起來不錯。我已經設法根據不同的可繪製資源文件夾的分辨率來繪製drawable,但是我怎樣才能達到與純文本相同的效果呢?Android的textsizes不同的屏幕
我真的需要使用不同的佈局文件夾來實現嗎?
感謝您的幫助!
我正在構建一個android應用程序,需要在所有屏幕尺寸上看起來不錯。我已經設法根據不同的可繪製資源文件夾的分辨率來繪製drawable,但是我怎樣才能達到與純文本相同的效果呢?Android的textsizes不同的屏幕
我真的需要使用不同的佈局文件夾來實現嗎?
感謝您的幫助!
對文字大小使用sp
,你應該沒問題。
SP
量表無關的像素 - 這是像DP單元,但它也是 通過用戶的字體大小偏好縮放。建議您在指定字體大小時使用本機的 ,因此它們將根據屏幕密度和用戶偏好進行調整。
dp
/dip
也能正常工作,但不包括用戶的字體首。
謝謝,我早些時候嘗試了這種方法,並突然停止工作,因此我的問題:) – 2012-02-26 23:24:03
如果它僅用於textview。在xml中的textview中聲明尺寸ad dp。 dp是與屏幕分辨率相關的desipixels,並且textview大小會相應調整。
我用自己編寫的方法_的兩個顯示器(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));
作品TextViews
和Button
。
使用後請回復並告訴我這是否適用於您的顯示器。
設置文本大小而不是px。 – jeet 2012-02-21 11:33:12
文字大小應該使用sip,而所有其他大小使用dip。 – PravinCG 2012-02-21 11:43:20