【问题标题】:CardView to make a circle background, show oval backgroundCardView 制作圆形背景,显示椭圆背景
【发布时间】:2019-05-30 12:47:25
【问题描述】:

我关注了这个post

并尝试在我的 X verctor 图像周围制作一个透明的圆形背景。

  <android.support.design.card.MaterialCardView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:innerRadius="0dp"
      android:shape="ring"
      android:thicknessRatio="0"
      app:cardCornerRadius="24dp"
      card_view:cardElevation="0dp"
      card_view:cardMaxElevation="0dp">
    <ImageView
        android:id="@+id/close_button"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_gravity="top|end"
        android:padding="@dimen/account_menu_close_button_padding"
        android:alpha="0"
        android:background="?attr/selectableItemBackground"
        android:contentDescription="@string/og_close_icon_a11y"
        android:focusable="true"
        android:theme="@style/myStyle"
        android:visibility="gone"
        app:srcCompat="@drawable/quantum_gm_ic_close_vd_theme_24"
        />
  </android.support.design.card.MaterialCardView>

但是我不断得到: 1)椭圆形 2) 东西白色边框

如何解决这两个问题?

【问题讨论】:

  • 为什么不使用浮动操作按钮呢?我认为正在发生的事情是您在图标中有一些填充,使卡片被推到顶部/底部。尝试删除 ImageView 上的填充。
  • 浮动操作按钮可以是透明的,没有高度?
  • 好吧,我从未尝试过,但您绝对可以将高度设置为 0,将背景设置为 @android:color/transparent。但是,如果你想要一个没有高度的按钮或任何东西,为什么不使用带有圆形可绘制对象的 ImageView 作为背景呢?那会奏效的。
  • @JavierMendonça 我的背景属性已被填充

标签: android android-layout android-cardview android-shape


【解决方案1】:

试试这个方法

<com.google.android.material.card.MaterialCardView
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:layout_gravity="center"
    android:innerRadius="0dp"
    android:shape="ring"
    android:thicknessRatio="0"
    app:cardBackgroundColor="@color/colorAccent"
    app:cardCornerRadius="24dp"
    app:cardElevation="0dp"
    card_view:cardMaxElevation="0dp">

    <ImageView
        android:id="@+id/close_button"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_gravity="top|end"
        android:background="?attr/selectableItemBackground"
        android:contentDescription="@string/app_name"
        android:focusable="true"
        android:visibility="visible"
        app:srcCompat="@drawable/ic_close" />

</com.google.android.material.card.MaterialCardView>

输出

设备中的输出

【讨论】:

  • 你能解释一下差异吗?为什么?
  • 用FAB更好吗?
  • @EladBenda 是的,最好使用 FAB
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多