【发布时间】:2016-06-26 14:10:30
【问题描述】:
我是 Android 开发的新手,我正在开发我的第一个应用程序。
我对如何正确处理具有不同像素密度的不同版本图像有以下疑问:
使用这个在线工具:https://romannurik.github.io/AndroidAssetStudio/nine-patches.html 我已经创建了 mdpi、hdpi xhdpi、xxhdpi 和xxxhdpi 版本的图像,然后我在我的项目的 /res/ 目录中创建了这个结构:
然后我以这种方式在我的布局定义中使用这些图像:
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:scaleType="fitXY"
android:layout_height="250dp"
android:src="@drawable/carbonara" />
这到底是什么意思? Android会根据使用设备的屏幕自动选择正确的版本?
在 Android Studio 活动预览中,我看到图像正确显示,但我如何检查显示的图像对于所选设备是否正确?
例如,在 Android Studio 预览中,我选择 Nexus 4 作为设备,我可以看到该设备使用的是什么图像吗?
我还将这些图像用于我的应用程序的 Java 代码中,例如我做这样的事情:
imgSlideView.setImageResource(R.drawable.amatriciana);
By R.drawable.amatriciana 我认为Android会自动检索适合所用设备屏幕的版本。我可以获取有关正在加载的确切版本的一些信息吗?
【问题讨论】:
-
是的,应该选择并显示一个合适的图像,但是让我警告你:不要依赖于“Android Studio预习!”您需要走出去购买设备,,尤其是旧设备。如果您所在的城镇有一家二手 CD 商店、Goodwill 商店或任何其他“旧但使用过的电子产品”的小贩,请成为他们的客户。请注意杂货店出售的设备:很多 人在那里购买设备。许多Android兼容设备的制造商采取了许多“节省成本*”的捷径,而“视频”是一个“昂贵”的组件。... O_o ...
标签: java android android-imageview android-image android-screen-support