Ser*_*m's 6 size android text screen dimension
我有2片:
1 Samsung Android 3.0
DisplayMetrics {density=1.0, width=600, height=976,
scaledDensity=1.0, xdpi=161.55031, ydpi=155.51021}
Run Code Online (Sandbox Code Playgroud)
1低成本设备,Android 2.3.3
DisplayMetrics {density=1.0, width=480, height=800,
scaledDensity=1.0, xdpi=160, ydpi=160.42105}
Run Code Online (Sandbox Code Playgroud)
如果我为每个屏幕尺寸使用不同的布局,两个设备都说它们是大型和mdpi,所以我无法通过使用布局文件夹名称区分它们......问题是:
我使用带有textSize ="20dp"的TextView
在第一个设备中,文本宽度是屏幕的一半,在第二个设备中更大(屏幕宽度的80%).为什么?我希望如果我使用dp(而不是px),两个设备都以相同的方式显示文本.我也尝试用sp但没有任何变化......
(我使用TextView作为示例,我对布局中的所有元素都有同样的问题:按钮大小,...)
我会尝试使用布局文件夹名称,如"layout-w600dp"或Android 3.2中引入的其他内容,但事实并非如此.
我知道我可以通过onLayout()中的代码更改元素维度但我不想这样做......
有什么建议吗?
更新
我使用主题解决了布局问题:在运行时激活特定的dimens.xml
关于 Dimention 的 android 文档是这么说的
dp与像素的比例会随着屏幕密度的变化而变化,但不一定成正比
所以你所看到的完全没问题
您可以使用 LinearLayout 权重实现 50% 的屏幕..参考此
| 归档时间: |
|
| 查看次数: |
2124 次 |
| 最近记录: |