Я создаю игру-викторину и пытаюсь ограничить изображение моего Imageview в соответствии с указанными мною рекомендациями.
В Android Предварительный просмотр в студии все выглядит нормально и, как и ожидалось. Ниже приведен экран этого ожидаемого результата:
Но когда я запускаю приложение в эмуляторе (Pixel 3 XL API 29 в AVD Manager), Я получаю результат ниже:
Изображение не ограничено вертикальными направляющими или каким-либо образом вертикальные направляющие никогда не применяются, в то время как предварительный просмотр показывает иначе. Я пытался запустить его на разных устройствах, и результат всегда один и тот же.
Вот мой XML код:
<?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:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#427e83"
tools:context=".level1">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/level1completion"
android:layout_width="342dp"
android:layout_height="32dp"
android:layout_marginTop="32dp"
android:autofillHints=""
android:fontFamily="@font/sunrise_international"
android:textAlignment="center"
android:textSize="36sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/level1answer" />
<EditText
android:id="@+id/level1tail1answer"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="32dp"
android:background="@drawable/rounded_corners_edittext"
android:ems="10"
android:fontFamily="@font/sunrise_international"
android:hint="@string/type_your_answer"
android:inputType="textPersonName"
android:textColor="@android:color/darker_gray"
android:textColorHint="#45484b"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toBottomOf="@+id/level1imagetoguess" />
<ImageView
android:id="@+id/level1tail1imagetoguess"
android:contentDescription="@string/correct_answer"
android:src="@drawable/my_picture"
android:scaleType="fitStart"
android:adjustViewBounds="true"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toStartOf="@+id/guideline"
app:layout_constraintTop_toTopOf="@+id/guideline3" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.18" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.9155" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.055" />
</androidx.constraintlayout.widget.ConstraintLayout>
Я не могу понять asp, что здесь происходит, хотя я прочитал документацию. В крайнем случае я попытался поиграть с комбинациями следующих параметров:
- layout_constraintDimensionRatio
- scaleType
- AdjustViewBounds
- layout_width
- layout_height
Без удачи.
Любая помощь будет принята с благодарностью!
Спасибо!