android屏幕适配

1、相同屏幕分辨率下,density不一样。
测试:A、density1.0=160 width480 height800  B、density1.5=240 width480 height800

问题一:这种情况下使用dp或者dip就会在外观大小一样的手机上显示不一样,density大的显示大,density小的显示小
解决:直接使用px。如tv.setWidth(displayWidth/2);tv.setHeight(30);

问题二:如果默认不设置TextView的文字大小,则density大的文字大,density小的文字小,就算在代码中设置了tv.setTextSize(18.0f)也是一样。
解决:很简单,经过测试,可以这样做。tv.setTextSize(18.0f/dm.density),这样显示的控件大小和控件内容文字都会一样了。

 

具体代码如下:
  DisplayMetrics dm = MainActivity.this.getResources().getDisplayMetrics();
  tv.setWidth(dm.widthPixels/2);
  tv.setHeight(30);
  tv.setTextSize(18.0f/dm.density);

 

 

posted @ 2013-09-25 11:57  Java夜未眠  阅读(187)  评论(1)    收藏  举报