Android:角落边界笔划隐藏在图像视图后面

toe95027  于 2022-10-22  发布在  Android
关注(0)|答案(1)|浏览(146)

你好,我正在尝试将一个角添加到约束布局中,所以逻辑是,无论何时我没有得到图像,我都会显示文本else图像,但每当图像出现时,角笔划都会隐藏在imageview
问题图像:-


小时
这是我的代码:

<androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/constraint_rt"
        android:layout_width="0dp"
        android:layout_height="@dimen/_115sdp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintDimensionRatio="W,16:9"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:padding="1dp"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@drawable/rt_list_img_gradient_bg_with_stroke"
        android:orientation="vertical">

        <TextView
            android:id="@+id/txtpopularRT"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="@font/worksans_semibold"
            android:gravity="center"
            android:textColor="@color/klgreen"
            android:textSize="@dimen/_12ssp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <ImageView
            android:id="@+id/imageRt"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:scaleType="fitXY"
            android:visibility="gone" />
    </androidx.constraintlayout.widget.ConstraintLayout>

可绘制文件:-

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:startColor="@color/black"
    android:endColor="@color/new_black_1"
    android:angle="270" />
<stroke android:width="2dp" android:color="@color/kred" />
<corners
    android:radius="10dp">
</corners>

请帮我弄清楚如何在拐角处展示击球
任何帮助都将不胜感激

fv2wmkja

fv2wmkja1#

您的图像隐藏了笔划边框,因为您的drawableconstraint布局的背景形状具有corners半径,所以如果您注意到图像中只有角部分被隐藏,那么您可以通过向图像添加角来修复。您可以通过将ImageView封装在CardView中,并为该卡片视图提供拐角半径,如下所示-

更新的代码:

<androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/constraint_rt"
        android:layout_width="0dp"
        android:layout_height="@dimen/_115sdp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintDimensionRatio="W,16:9"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:padding="1dp"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@drawable/rt_list_img_gradient_bg_with_stroke"
        android:orientation="vertical">

        <TextView
            android:id="@+id/txtpopularRT"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fontFamily="@font/worksans_semibold"
            android:gravity="center"
            android:textColor="@color/klgreen"
            android:textSize="@dimen/_12ssp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:cardCornerRadius="10dp">

             <ImageView
              android:id="@+id/imageRt"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:adjustViewBounds="true"
              android:scaleType="fitXY"
              android:visibility="gone" />
    </androidx.cardview.widget.CardView>
</androidx.constraintlayout.widget.ConstraintLayout>

信息:

我添加了10dp的角半径,因为你的形状可绘制的半径相同-10dp
P.S-备选方案您也可以使用RoundedImageView

相关问题