【问题标题】:ImageView with adjustViewBounds inconsistently being shown inside ConstraintLayout on inflation带有adjustViewBounds的ImageView在ConstraintLayout中不一致地显示在通货膨胀上
【发布时间】:2020-01-27 18:55:37
【问题描述】:

我正在使用 RecyclerView 来显示图像网格。当点击图像时,对话框片段会膨胀该图像的更大版本,其宽高比不同,这就是我使用 adjustViewBounds 的原因。图片来自 Instagram API 的 URL。图像处理正在使用 Glide 完成。

当我使用不同的布局或没有布局时,我不会遇到这个问题。如果我使用 Glide 将所有显示的图像调整为相同的纵横比,我也不会遇到这个问题。

视觉example的问题

对话框片段膨胀视图。

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

    <data>

        <variable
                name="url"
                type="String" />

        <variable
                name="hashTag"
                type="String" />
    </data>


    <androidx.cardview.widget.CardView
            android:id="@+id/dialog_cardView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:cardBackgroundColor="@color/EERIE_BLACK"
            app:cardCornerRadius="20dp"
            app:cardPreventCornerOverlap="true">

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

            <ImageView
                    android:id="@+id/dialog_image"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:layout_marginTop="48dp"
                    android:layout_marginBottom="48dp"
                    android:adjustViewBounds="true"
                    app:imageUrl="@{url}"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:src="@drawable/image_2" />

            <TextView
                    android:id="@+id/textView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="16dp"
                    android:layout_marginTop="16dp"
                    android:text="#PlaceHolderTag"
                    android:textColor="@color/BABY_POWDER"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="#Hashtag" />

        </androidx.constraintlayout.widget.ConstraintLayout>
    </androidx.cardview.widget.CardView>
</layout>

【问题讨论】:

  • 设置图片查看比例
  • @Jaymin 图像的比例并不相同。我希望 ImageView 与图像相匹配。

标签: android imageview android-constraintlayout androidx


【解决方案1】:

如果你想要 ImageView match_parent 或 full, 你可以添加

android:scaleType="fitXY"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 2021-09-03
    • 1970-01-01
    • 2019-06-10
    • 2023-02-24
    • 2017-07-19
    • 1970-01-01
    相关资源
    最近更新 更多