Изображение имеет край сверху в ограничении - PullRequest
1 голос
/ 26 мая 2019

У меня есть прокручиваемый контент, поэтому я поместил макет ограничения в представление прокрутки, у меня возникла проблема, когда изображение помещается в макет ограничения, но изображение показывает пробел сверху, как на скриншоте ниже, как я могу удалить это пространство?

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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.support.constraint.ConstraintLayout
            android:id="@+id/constraintLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
        <!-- have whatever children you want inside -->
        <ImageView
                app:srcCompat="@drawable/main_header"
                android:id="@+id/img_icon"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:background="#ffccbb"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintWidth_percent="1"
                android:contentDescription="TODO" app:layout_constraintDimensionRatio="1:1"
                app:layout_constraintHorizontal_bias="0.0" app:layout_constraintVertical_bias="0.0"/>
    </android.support.constraint.ConstraintLayout>
</ScrollView>

screenshot

Ответы [ 3 ]

0 голосов
/ 26 мая 2019

Я только что проверил ваш код на моем телефоне, и он выглядит хорошо.Одна вещь, которую я отличил от вас, это то, что я использовал другой ресурс изображения для imageView.

Так что я думаю, что у вас на самом деле нет проблем, я думаю, что это просто изображение и как оновыглядит, попробуйте изменить ресурс изображения и посмотрите, сохраняется ли эта проблема.

Он выглядит так, как выглядит мой файл макета:

<ScrollView 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">

<androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/constraintLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">


    <ImageView
        android:id="@+id/img_icon"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@drawable/main_header"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintDimensionRatio="1:1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
0 голосов
/ 26 мая 2019

Попробуйте, удалите app:layout_constraintTop_toTopOf="parent" в вашем ImageView, это работает!

0 голосов
/ 26 мая 2019

В вашем Imageview вы добавили app:layout_constraintDimensionRatio="1:1", что означает, что он будет занимать 1: 1, поэтому ширина и высота также будут 1: 1.Но ваше изображение app:srcCompat="@drawable/main_header" не 1: 1.Таким образом, вы должны добавить изображение, которое имеет ширину и высоту одинакового размера.В противном случае вы можете добавить android:scaleType="fitXY" или android:scaleType="centerCrop" в соответствии с вашими ожиданиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...