gpt4 book ai didi

android - 如何在不同屏幕上保持背景纵横比

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

我为我的 Galaxy S9+ 屏幕比例(几乎 2:1)的应用程序准备了一张背景图片,这样它对于所有屏幕尺寸都足够大。然后我按以下方式定义背景可绘制对象:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background"
android:gravity="fill_horizontal"
android:tileMode="disabled">
</bitmap>

然后我使用它如下:

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:bind="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activities.GameActivity">

<data>

<variable
name="viewModel"
type="..." />
</data>

<FrameLayout
android:id="@+id/g_viewPlaceholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/activity_background">

</FrameLayout>
</layout>

当我在比率类似于 SGS9+ 的设备上运行应用程序时,背景似乎是正确的。但是,当我运行应用程序时,比如屏幕比例为 16:9 的 Galaxy S6,背景被垂直压缩(即使底部和顶部部分被切断 - 按照设计)。

如何将背景设置为水平拉伸(stretch)和垂直切割,同时保持宽高比?

最佳答案

试试下面的代码。

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background"
android:gravity="clip_vertical|fill_horizontal"
android:tileMode="disabled">
</bitmap>

如果这不起作用,请尝试调整 Layout Gravity 以垂直裁剪

关于android - 如何在不同屏幕上保持背景纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54496706/

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