2011-04-19 105 views
0

我有一個18個按鈕的網格,顯然這太大了,因爲我的文本在不同的資源/密度之間越來越混亂。根據屏幕分辨率/密度更改文字大小?

50sp看起來正確的240 hdpi WVGA800,30sp看起來正確的120 ldpi QVGA和160 mdpi HVGA。如何根據使用的屏幕調整尺寸?

回答

1

我99.9%肯定,你可以用不同的XML佈局做到這一點......但如果你正在編程這樣做你會做這樣的事情:

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

//then run a switch 

switch(dMetrics.densityDpi){ 

case DisplayMetrics.DENSITY_XHIGH: 

    //set text size 
    break; 

case DisplayMetrics.DENSITY_HIGH: 

    //set text size 
    break; 

case DisplayMetrics.DENSITY_MEDIUM: 

    //set text size 
    break; 

case DisplayMetrics.DENSITY_LOW: 

    //set text size 
    break; 
}