onClick从ImageView中删除涟漪效果

nab*_*bir 1 android imageview

我有一个简单的ImageView包装在FrameLayout中,以给它一个涟漪效果:

<FrameLayout
    android:id="@+id/container"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:clickable="true"
    android:foreground="?android:attr/selectableItemBackground">

    <ImageView
        android:id="@+id/image_view"
        android:layout_width="250dp"
        android:layout_height="250dp"
        android:src="@drawable/image"/>

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

这非常适合添加涟漪效果.然而,当我向ImageView添加onClick侦听器时,纹波效果不再起作用,考虑到涟漪效应是可以选择/单击的元素,这很奇怪!

ImageView imageView = (ImageView)findViewById(R.id.image_view);
imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Logic.
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何保持onClick和涟漪?

Tom*_*lav 5

在父视图(FrameLayout)上设置onClickListener,如下所示: ((View)imageView.getParent()).setOnClickListener...

ImageView.getParent()返回一个ViewParent.确保父View(FrameLayout)实现ViewParent接口或转换将失败.