Android::为';类似';屏风

Android::为';类似';屏风,android,resources,screen,Android,Resources,Screen,我的应用程序有一种复杂的布局,所以主要的问题是支持不同的屏幕。 让我们以HTC Sensation(4.3英寸960x540 256dpi)和Droid(3.7英寸854x480 265dpi)两款手机为例,它们都使用-普通hdpi的资源,而分辨率的差异使得接口完全不合适 请建议如何避免此问题。在这种情况下,您有另一台android设备。。 使用“dp”代替px 在这种情况下,您有另一台android设备。。 使用“dp”代替px 我的解决方案 private void layoutCorrec

我的应用程序有一种复杂的布局,所以主要的问题是支持不同的屏幕。 让我们以HTC Sensation(4.3英寸960x540 256dpi)和Droid(3.7英寸854x480 265dpi)两款手机为例,它们都使用
-普通hdpi
的资源,而分辨率的差异使得接口完全不合适


请建议如何避免此问题。

在这种情况下,您有另一台android设备。。 使用“dp”代替px

在这种情况下,您有另一台android设备。。 使用“dp”代替px 我的解决方案

private void layoutCorrection(){ 
DisplayMetrics dm = getResources().getDisplayMetrics(); 
if (dm.heightPixels == 960 && dm.widthPixels == 540){ 
final int padding_side = pxToDip(14); View myView = ... myView.setPadding(padding_side,0,padding_side,0); }
}
我的解决方案

private void layoutCorrection(){ 
DisplayMetrics dm = getResources().getDisplayMetrics(); 
if (dm.heightPixels == 960 && dm.widthPixels == 540){ 
final int padding_side = pxToDip(14); View myView = ... myView.setPadding(padding_side,0,padding_side,0); }
}

Mikhail你应该一直用dp,我当然用dp。此外,对于每个ldpi/mdpi/hdpi案例,在相应的“维度”中声明的值并不相同。您可以阅读我提到的页面。这对你有帮助。。在中间的某个地方,你有“支持多屏幕”的功能,似乎你要使用你的PrBeMeMik雹,你当然应该使用DP。当然我使用DP。此外,对于每个ldpi/mdpi/hdpi案例,在相应的“维度”中声明的值并不相同。您可以阅读我提到的页面。这对你有帮助。。在中间的某个地方,你有“支持多屏幕”,这似乎是为了解决你的PbLeMeto,这里有一个例子:我有几个<代码>维度。XML ,它有<代码> PADIGIN侧边<代码>参数--LDPI <代码>=13DP ,对于-MPPI <代码>=11DP</代码>,对于-HDPI= <代码> 11DP< /代码>,对于大<代码>=17DP 。对于Sensation
14dp
最适合,但对于Droid和S2,它仍然是
11dp
,而我无法在
-正常hdpi
中区分它们。在这里,我的解决方案不是很聪明,但很有效<代码>私有void layoutCorrection(){DisplayMetrics dm=getResources().getDisplayMetrics();if(dm.heightPixels==960&&dm.widthPixels==540){final int padding_side=pxToDip(14);View myView=…myView.setPadding(padding_side,0,padding_side,0);}更具体地说,这里有一个例子:我有几个
维度。xml
,它有
padding\u-side
参数-ldpi
=13dp
,for-mdpi
=11dp
,for-hdpi=
11dp
,for-large
=17dp
。对于Sensation
14dp
最适合,但对于Droid和S2,它仍然是
11dp
,而我无法在
-正常hdpi
中区分它们。在这里,我的解决方案不是很聪明,但很有效
private void layoutCorrection(){DisplayMetrics dm=getResources().getDisplayMetrics();if(dm.heightPixels==960&&dm.widthPixels==540){final int padding_side=pxToDip(14);View myView=…myView.setPadding(padding_side,0,padding_side,0);}