Android背景尺寸-调整大小以适应所有设备

Android背景尺寸-调整大小以适应所有设备,android,Android,这与之前提出的其他背景图像大小问题略有不同。在这个片段上,当用户选择一个图标时,背景图像在每次单击时都会动态变化。例如,如果用户单击太阳图标,背景将变为阳光明媚,如果用户单击云图标,背景将变为多云,依此类推 我使用一个简单的switch语句来实现这一点: @Override public void onMoodClick(int position) { switch (position) { case 0: moodBefore = 1;

这与之前提出的其他背景图像大小问题略有不同。在这个片段上,当用户选择一个图标时,背景图像在每次单击时都会动态变化。例如,如果用户单击太阳图标,背景将变为阳光明媚,如果用户单击云图标,背景将变为多云,依此类推

我使用一个简单的switch语句来实现这一点:

@Override
public void onMoodClick(int position) {

    switch (position) {
        case 0:
            moodBefore = 1;
            backgroundChanger.setImageResource(R.mipmap.background_clouds_excited);
            hasSelected = true;
            break;

        case 1:
            moodBefore = 2;
            backgroundChanger.setImageResource(R.mipmap.background_clouds_happy);
            hasSelected = true;
            break;
问题是:它在设置为像素2的模拟器上看起来非常完美。然而,当我将应用程序加载到Galaxy s10上时,我注意到部分背景被切断。因此,在我的s10上,只有一半的太阳是可见的,但在像素2模拟器上,整个背景是可见的。有人知道这个问题的潜在解决方案吗?这样背景会更动态一些,可以适应不同的屏幕尺寸

布局:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout   xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/FragmentWorkoutMood2"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.fragments.WorkoutFragment">

<com.example.feelingfit.utils.CropImageView
    android:id="@+id/workoutBackground"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scaleType="matrix"
    android:src="@mipmap/background_clouds_workout_default"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

您应该在xml文件中为
backgroundChanger
元素设置
android:scaleType
。如果选中此链接,您将看到每个scaletype的图像。你可以选择最适合你的。

使用约束布局来保持纵横比,而不管屏幕大小。默认情况下,我对所有活动和片段都使用约束布局,但这与问题无关。请发布您的布局,以便查看这些视图是如何受到约束的?更新了我的问题,以包括xml文件的相关部分