我尝试在Android Eclipse Project中为Sony Xperia Z1创建Seperate Values文件夹。我完成了值-sw390dp。在那个值文件夹里面,我把那个dimen.xml文件放到那个移动UI大小..当我在那个文件夹中更改ui大小时,它不会反映它..但是,它将自动采取值 - 大文件夹。 因为,正在开发一款适用于所有5英寸和7英寸手机和平板电脑的应用程序..我需要适合5英寸及以上的用户界面..
http://www.gsmarena.com/sony_xperia_z1-5596.php示例sony Xperia移动模型
我已经提到过本网站.. Sony Xperia Z density seems odd to me, will my app work fine on it?
//我已经安装了sony xperia z1 model sdk .. http://developer.sonymobile.com/knowledge-base/sony-add-on-sdk/install-the-sony-add-on-sdk/ 我的模拟器也工作得很好......
注意:我的问题只在这里.. 首先,我完全适合谷歌Nexus 7的UI。当我将我的应用程序执行到索尼Xperia Z1手机时,这将发生..
1080 x 1920像素,5.0英寸(~441 ppi像素密度) =(1080 * 160)/ 441 = 391.83 ... = = 390 dp的圆形 这就是为什么我使用这样的索尼Xperia Z1值-sw390dp
谢谢你提前
答案 0 :(得分:6)
看起来这里的问题是你计算dp中最小宽度的方式。您可能知道,Android基于密度桶系统,例如: mdpi(160 dpi),hdpi(240 dpi),xhdpi(320 dpi)和xxhdpi(480 dpi)等等。每部电话被归类为属于一个可用的密度桶。该逻辑密度是实际物理密度的近似值。
Z1的物理密度为441 ppi,因此落入xxhdpi铲斗。
所以我们有这个公式: px = dp *(dpi / 160)或 dp = px /(dpi / 160)
在这种情况下,dpi = 480且px = 1080所以:
dp = 1080 /(480/160)= 1080/3 = 360
所以你应该将值-sw360dp用于Xperia Z1。