我在项目中拥有的是一个drawable文件夹,在其中放置了我需要重新调整其中一些大小以进行放置值文件夹的所有drawable:
值-正常-xhdpi
值-正常-mdpi
...
xhdpi中的所有值都必须除以80/60 = 1.333
这样我在两个设备上都能获得相同的显示...
为什么会这样呢?当我将其除以2时,在mdpi设备上会出现一些小按钮;
当我保持相同的尺寸时,在mdpi设备上会出现很大的按钮;
例:
在值normal-mdpi中:
<!-- In the about the progragm activity the buttons -->
<dimen name="aboutproductimgwidth">73.5dp</dimen>
<dimen name="aboutproductimgheight">73.5dp</dimen>
<!-- the logo in the animation activity -->
<dimen name="logoimgwidth">162dp</dimen>
<dimen name="logoimgheight">162dp</dimen>
在值normal-xhdpi中:
<!-- In the about the progragm activity the buttons -->
<dimen name="aboutproductimgwidth">98dp</dimen>
<dimen name="aboutproductimgheight">98dp</dimen>
<!-- the logo in the animation activity -->
<dimen name="logoimgwidth">216dp</dimen>
<dimen name="logoimgheight">216dp</dimen>
当我放置这些值时,两个设备上的显示完全相同。
这就是我所需要的。
编辑1
即使当我以另一种方式进行操作时,也就是将160px的图像放置在drawable-normal-xhdpi文件夹中,将另一幅80px的图像放置在drawable-normal-mdpi文件夹中,这两种设备上的显示都不同;在mdpi设备上,我有非常大的按钮,在xhdpi设备上,我有很好的显示,为什么?!尽管我按照他们说的做了,但我将xhdpi的图像除以2;
编辑2
抱歉,我放了一些照片,但不能让它们长时间上网..但是我的显示屏上有什么:
一个设备在按钮下有一个文本,而在按钮上有一个文本,因为按钮太大,而在其他设备中,我在按钮上有两个文本,因为按钮是我所需要的。我在第一个设备按钮中使用了80PX,因为它是MDPI设备,在第二个160PX中使用了它,因为它是XHDPI
最佳答案
如果操作正确,则drawables-mdpi中的图像应为xhdpi图像尺寸的1/2。
您在屏幕上看到的是,典型的mdpi设备为320 px,而典型的xhdpi为720 px。因此,如果您制作了两个按钮,每个按钮为屏幕大小的1/2,则xhdpi按钮应为360px。 “过程”后面的意思是mdpi尺寸的半个180px按钮。但是在mdpi屏幕上,2个按钮将为360px,不合适。为了使它们适合您,您需要将它们减小30像素,或大约13.33%
听起来好像您正在查看的屏幕可能不是典型的屏幕,但是问题的根源在于您正在调整可绘制对象和值文件夹中的图像大小。您需要重新设计处理不同屏幕密度的方法-选择一个或另一个,但是除非您有非常不同的用例,否则可能不要同时使用这两种方法。
关于android - 不同屏幕尺寸和分辨率的图像尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21208512/