我是 Android 编程新手。最近,我开始了一个项目,想为 Android 应用程序制作启动画面。我在 following this tutorial 之后阅读并成功实现了启动画面。 .但是,我意识到我的应用 Logo 伸出了屏幕,如下所示:
下面是我的background_splash.xml
:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/splash_background" />
<item>
<bitmap
android:gravity="center"
android:src="@drawable/tap" />
</item>
</layer-list>
我试过了
android:width="75sp"
android:height="75sp"
在<bitmap>
但它不起作用。因此,我想知道除了使用 ImageView
之外是否有调整图像大小的方法(最好没有 Java 代码)。 .任何帮助将不胜感激!
最佳答案
我在为我的应用程序设计启动画面时遇到了同样的问题(遵循您上面提到的相同链接和其他一些链接),并进行了一些谷歌搜索得到了我的答案。
解决方案很简单,不涉及编码。 即。您不需要在 xml 中指定高度和宽度。至于发生这种情况的原因,您的图像分辨率高于如下所述。
解决方案:
您需要提供映射到各种屏幕尺寸的各种分辨率的图像。以下是 Google 提供的各种显示器的最小屏幕尺寸列表(全部以像素为单位):-
对于 Android 移动设备
LDPI- 426 x 320
MDPI- 470 x 320
HDPI- 640 x 480
XHDPI- 960 x 720
对于 Android 平板设备
LDPI- 200 x 320
MDPI- 320 x 480
HDPI- 480 x 800
XHDPI- 720 x 1280
所以您需要做的就是调整所有尺寸的图像,加载/strong> Drawable 中的图像根据它们的大小(例如:drawable-hdpi 包含hdpi 图像)并将其传递给background_splash。 xml(你当然可以保留相同的名称)。重建项目并运行它。应该符合您的规范。
注意:代码根本不需要更改。对于图像大小调整,您可以使用 Adobe Photoshop(我发现它更容易使用)。
根据喜好,您还可以使用9 Patch image,这样图像的边框可以拉伸(stretch)以适应屏幕大小,而不会影响图像的静态区域。
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
关于android - 在 xml 中调整位图中的图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36012389/