android屏幕适配
2015-06-10 00:34
411 查看
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);
以前写在博客园的文章
测试: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);
以前写在博客园的文章
相关文章推荐
- android 实践问题记录- 2015/06/09
- android:imeOptions属性
- android activity生命周期
- Android开源项目分类汇总
- Android之SQLiteOpenHelper
- 拒绝ndk-build (Android Native Development Kit)
- Android 编程下设置 Activity 切换动画
- Android 高仿 QQ5.0 侧滑菜单效果 HorizontalScrollView
- Android Activity活动1
- Android获取文件夹路径
- Android 属性动画(Property Animation) 完全解析 (上)
- Android 属性动画(Property Animation) 完全解析 (下)
- Android设备data目录下的文件在DDMS下的File Explorer读不到
- Android中定时执行任务的三种实现方法
- Android Studio编码问题
- 完美解决android运行程序java.lang.ClassNotFoundException错误
- Android学习十二:自定义控件学习
- Android 突破 65K Methods
- Android系统启动流程
- Android中使用Handler造成内存泄露的分析和解决