CardView默认海拔值

问题描述 投票:0回答:2

我试图在CardView上显示徽章(粉红色TextView),如下所示:

enter image description here

没有设置CardView的仰角值,因此它应该是默认值,并且徽章的仰角设置为2dp

API Level > 22没问题,但是API Level <= 22的徽章如下所示位于CardView下:

enter image description here

当我将徽标的高程值从2dp更改为2.285738dp时,它将起作用。

我最初的想法是CardView的默认高程值根据API级别而变化。想要在此处发布以找出更合乎逻辑的原因。

<androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="72dp"
    android:layout_marginStart="@dimen/margin_horizontal_default"
    android:layout_marginTop="@dimen/margin_inner_half_default"
    android:layout_marginEnd="@dimen/margin_horizontal_half_default"
    android:foreground="?android:attr/selectableItemBackground"
    app:cardBackgroundColor="?backgroundCardColor"
    app:cardCornerRadius="@dimen/card_corner_radius"
    app:layout_constraintTop_toTopOf="parent">

<TextView
    android:id="@+id/badgeText"
    style="@style/TextStyle.InvertedTag"
    android:layout_width="wrap_content"
    android:layout_height="20dp"
    android:layout_marginStart="@dimen/margin_horizontal_half_default"
    android:background="@drawable/background_inverted_secondary"
    android:elevation="2dp"
    android:gravity="center_vertical"
    android:paddingStart="12dp"
    android:paddingEnd="12dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:text="KES" />
android android-cardview android-elevation
2个回答
0
投票

[请尝试用TextView替换androidx.TextView,看看是否可行。


0
投票

我之前有此问题,并通过在两个项目中都设置elevation来解决,在后台设置了2sp,在前台中设置了4sp。而且效果很好。CardView的默认值为2dp

© www.soinside.com 2019 - 2024. All rights reserved.