gpt4 book ai didi

android - 是否有推荐的 android 背景像素大小?

转载 作者:行者123 更新时间:2023-11-29 18:20:43 25 4
gpt4 key购买 nike

目前,我只有几个按钮的相对布局,并设置了 android:background="#FFFFFF"

我想创建一个背景图像来代替使用,但是我不确定我应该创建多大尺寸的图像。

我知道对于菜单图标/启动器图标我需要为 ldpi、mdpi 和 hdpi 创建 3 组。

但是,对于背景,像素大小应该是多少?

我将创建类似于以下的背景:

enter image description here

最佳答案

不仅要担心不同的屏幕密度,还要担心不同的屏幕尺寸。为每个配置设置背景图像是不切实际的。相反,我建议使用 java 代码拍摄图像并将其缩放到屏幕尺寸,无论屏幕尺寸或分辨率如何。

在这个例子中,我从我的游戏中提取出来,我有一个位图 bg 和屏幕分辨率保存到 maxwidth 和 maxheight。我将位图与背景进行比较,然后设置一些比例值。 oldx/oldy 确定自上次检查以来屏幕分辨率是否发生变化。我创建了一个矩阵并调整位图的大小,将其保存为 bgresized,然后设置我的 oldx/oldy,这样我的下一次更新就可以在需要时重新缩放。然后,我绘制新的背景

这段代码我使用了 Canvas ,您可以在 View 的 onDraw(Canvas canvas) 方法中使用它,或者您不喜欢 Canvas ,您可以将其更改为在 onCreate 和方向更改中使用它,或类似的东西

checkbackgroundsize();
bgwidth = bg.getWidth();
bgheight = bg.getHeight();
scalex = (float)maxwidth / (float)bgwidth;
scaley = (float)maxheight / (float)bgheight;
if ((oldx != scalex) || (oldy != scaley)){//if the screen changed sizes
Matrix matrix = new Matrix();
matrix.postScale(scalex, scaley);
bgresized = Bitmap.createBitmap(bg, 0, 0, bgwidth, bgheight, matrix, true);
oldx = scalex;
oldy = scaley;
}

canvas.drawBitmap(bgresized, 0, 0, null);//draw resized background

关于android - 是否有推荐的 android 背景像素大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5683099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com