在我以编程方式设置后,FrameLayout textview over image 消失

Posted

技术标签:

【中文标题】在我以编程方式设置后,FrameLayout textview over image 消失【英文标题】:FrameLayout textview over image disappear after i set the programmatically 【发布时间】:2021-03-24 13:04:42 【问题描述】:

我有一个 recyclerview 项目,它是一个 frameLayout,上面有一个 ImageView 和一个 TextView。 我已经设置了 xml 值,但在 onBindViewHolder 中我做了一些操作并将值设置为视图

布局像爆了

<FrameLayout
            android:id="@+id/img_frame"
            android:layout_
            android:layout_
            android:background="@drawable/message_received_item"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <com.package.views.RoundedImageView
                android:id="@+id/img_rcv_msg_image"
                android:layout_
                android:layout_
                android:adjustViewBounds="true"
                android:elevation="8dp"
                android:maxWidth="320dp"
                android:maxHeight="320dp"
                android:minWidth="150dp"
                android:minHeight="150dp"
                android:scaleType="centerCrop"
                app:bottomRightCorner="20dp"
                app:topLeftCorner="20dp"
                app:srcCompat="@android:drawable/ic_menu_report_image"
                tools:ignore="ContentDescription" />

            <TextView
                android:id="@+id/img_rcvName"
                android:layout_
                android:layout_
                android:layout_gravity="top|start"
                android:layout_margin="8dp"
                android:text="Unknown"
                android:textColor="#f00"
                android:textSize="12sp" />

            <TextView
                android:id="@+id/img_rcv_msg_date"
                android:layout_
                android:layout_
                android:layout_gravity="bottom|end"
                android:layout_margin="8dp"
                android:text="--:--"
                android:textColor="#f00"
                android:textSize="10sp"
                android:textStyle="italic" />

        </FrameLayout>

在 Android Studio 的布局设计预览中,我可以正确地看到 ImageView 上方的 TextViews(这是自定义但不用担心)。然而,在 RecyclerView 的 onBind 中,我计算了我的值,当我将 Bitmap 设置为 ImageView 并将文本设置为 TextViews 时,TextViews 根本不显示。我想隐藏在 ImageView 后面。 有谁知道为什么?

【问题讨论】:

【参考方案1】:

第一个假设是您的 RoundedImageView 位于文本上方(由于高程属性)。从 ImageView 中移除高程或将 TextView 设置为大于 8

【讨论】:

以上是关于在我以编程方式设置后,FrameLayout textview over image 消失的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在 FrameLayout 底部设置 LinearLayout?

java 以编程方式设置布局重力或者更确切地说在父FrameLayout底部对齐视图 - 来源:((FrameLayout.LayoutParams)view.getLayou

FrameLayout to RelativeLayout ClassCastException 即使没有使用 FrameLayout

删除 doOnTextChanged 上的文本会删除我以编程方式设置的编辑文本的特殊格式

尽管我以编程方式选择了一个单元格,但 indexPathForSelectedRow 返回 nil

Android:以编程方式在 FrameLayout 中设置边距 - 不起作用