2011-04-19 95 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; 
}