我想在 TextView 上显示 .png 图像。有人会使用平板电脑,有人会使用智能手机,我怎样才能显示与屏幕成比例的图像?我是否必须创建不同的图像并在代码中使用类似 if(screen == smartphone) setView(Png1.png)
的内容?
最佳答案
在设计应用程序时需要注意两个重要参数
应该在多个设备上运行:
- 尺寸(设备的物理尺寸)
- 设备的密度
大小:Android 中设备的大小不是定义为唯一的物理值,而是定义为一个范围。
它们是:小、正常、大和超大。
密度:密度也定义为一个范围。
它们是:ldpi、mdpi、hdpi 和 xhdpi。
为了处理尺寸,您需要使用多个布局,每个尺寸类别一个,并且您需要为每个布局的 View 的高度和宽度使用不同的 dp 值,因为小型和大型设备的尺寸不会是一样的。
为了处理密度,您需要针对不同的屏幕密度使用不同的可绘制对象,即您需要将不同密度的可绘制对象放置在不同的可绘制文件夹中。
例如:
这些是特定可绘制对象的分辨率
- 36x36用于低密度(放置在drawable-ldpi中)
- 48x48 用于中等密度(放置在drawable-mdpi 中)
- 72x72 用于高密度(放置在drawable-hdpi 中)
- 96x96 用于超高密度(放置在drawable-xhdpi 中)
此分辨率变化的比例为 3:4:6:8(ldpi:mdpi:hdpi:xhdpi)
如需进一步阅读,您可以引用此 Android 开发者的链接:
http://developer.android.com/guide/practices/screens_support.html
关于java - 如何显示与屏幕成比例的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932951/