?selectableItemBackgroundBorderless不工作

Mor*_*dag 11 layout android view

我正在尝试实现一个使用Android的默认itemBackground样式的视图(但具有椭圆形背景,用于操作栏项目等).以某种方式,以下视图根本没有显示背景.如果我将android:background更改为android:foreground它只显示矩形而不是椭圆形.有谁知道如何解决这个问题?

<LinearLayout
    app:visibleGone="@{showProfile}"
    android:layout_width="wrap_content"
    android:layout_height="26dp"
    android:layout_alignParentStart="true"
    android:gravity="center"
    android:paddingStart="16dp"
    android:paddingEnd="16dp">

       <ImageView
            android:background="?selectableItemBackgroundBorderless"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:onClick="@{() -> profileCallback.onClick()}"
            android:src="@drawable/profile_image" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Yun*_*LIU 18

你的代码是正确的,但棘手的是父布局也需要背景.

尝试为android:background="@android:color/transparent"其父级设置或任何其他背景.在你的情况下,它是LinearLayout.


Jen*_*ala 7

那条线不太正确。使用:

android:background="?android:attr/selectableItemBackgroundBorderless"
Run Code Online (Sandbox Code Playgroud)

  • KitKat上的InflateException (2认同)