Android 如何将此背景图像用于所有纵横比?
我有一张像这样的图片,用作相对主义者的背景: 此图像用作我的所有游戏级别的背景。每个标高都绘制在蓝色区域上。 我想固定蓝色区域的纵横比,更改红色边缘的大小,以避免向用户显示其屏幕上未使用的像素。对于所有手机,绿色区域必须固定为80dp。然后,我必须在我的布局中添加一个视图(GLSURFACHEVIEW),使其完全适合蓝色区域。因此,在所有Android设备中,我的Android游戏的所有级别都将完全相同 我如何解决这个问题? 我使用的真实图像稍微复杂一些。您可以在这里查看:Android 如何将此背景图像用于所有纵横比?,android,image,android-layout,background,aspect-ratio,Android,Image,Android Layout,Background,Aspect Ratio,我有一张像这样的图片,用作相对主义者的背景: 此图像用作我的所有游戏级别的背景。每个标高都绘制在蓝色区域上。 我想固定蓝色区域的纵横比,更改红色边缘的大小,以避免向用户显示其屏幕上未使用的像素。对于所有手机,绿色区域必须固定为80dp。然后,我必须在我的布局中添加一个视图(GLSURFACHEVIEW),使其完全适合蓝色区域。因此,在所有Android设备中,我的Android游戏的所有级别都将完全相同 我如何解决这个问题? 我使用的真实图像稍微复杂一些。您可以在这里查看: 我会在屏幕的中间部
我会在屏幕的中间部分(蓝色)使用框架布局,添加一个包含要显示的背景图像的ImageView,并将GLSurfaceView放在上面 由于纵横比始终相同,您可以将ImageViews sclaing设置为适合xy,并且图像的外观应始终相同 假设您使用的是一个简单的SurfaceView,用于放置ImageView的xml代码id如下所示
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
由于我不知道如何构建视图,我无法发布执行此任务的代码,只需在视图中添加一个框架布局,而不是GLSURFACHEVIEW,具有与GLSURFACHEVIEW相同的维度 首先向该框架布局添加ImageView,然后添加GLSurfaceView。高度和宽度都设置为与父项匹配 要计算SurfaceView的大小
因此,您必须以编程方式执行此操作:)Mmm,我不能使用此方法,因为我的真实图像比问题中的图像更复杂。看我的真实图像,我编辑了这个问题。我真的没有看到任何问题,即使是真实图像。如果你能确定纵横比是固定的,我想不出有什么问题。请按照我的建议将GLSURFACHEVIEW包装起来,或者让我知道问题出在哪里,因为我想不出任何问题。因此,也许我不明白你的答案。你能再详细一点吗?谢谢你……”同样的尺寸,GLSURFACHEVIEW应该有。“问题是我不知道GLSURFACHEVIEW的尺寸,我只知道它的纵横比。啊,对不起,我以为你已经知道怎么做了:)