为什么当我使用setClickable(true)时却没有显示点击的动作

时间:2019-01-03 11:27:57

标签: android android-studio onclicklistener

实际上,我使用ListView,而当我使用setClickable(false)时,我得到的动画好像单击了您看到的按钮一样?显示您单击的动画。我认为这是不正常的。

当我使用setClickable(true)时,我将不再拥有动画,并且不再使用

        convertView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

我想使用OnClickListener,但我认为最好让用户看到他可以单击,以便在单击时获得动画。

因此,我想看看用户单击列表中的项目时,它会执行我想要的操作(稍后再添加),但让我们想象一个Toast,但它显示的效果就像单击在一个按钮上。如果我使用setClickable(false)(默认设置),则会得到效果。

这就是涟漪效应!

2 个答案:

答案 0 :(得分:3)

在ListView的行布局中只需添加:

android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"

这将添加波纹效果。如果要在其他视图上显示它,请使用forground属性:

android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"

答案 1 :(得分:2)

将此foreground:?attr/selectableItemBackground添加到您的view属性中,它应该可以工作