Почему, когда я использую setClickable (true), он не показывает действие клика - PullRequest
0 голосов
/ 03 января 2019

На самом деле, я использую ListView, и когда я использую setClickable(false), у меня есть анимация, как если бы я нажал на кнопку, которую вы видите?Анимация, которая показывает, что вы нажимаете.Что не является нормальным, я думаю, основной.

И когда я использую setClickable(true), у меня больше нет анимации, а также если я использую

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

        }
    });

И я бы хотелиспользуйте OnClickListener, но я думаю, что для пользователя было бы лучше увидеть, что он может щелкнуть, чтобы иметь анимацию при нажатии.

Итак, я хотел бы видеть, когда пользователь нажимает наэлемент в списке, он выполняет действие, которое я хочу (я добавлю это позже), но давайте представим тост, но он отображает эффект, как будто вы нажимаете на кнопку.Эффект, который я получил, если использовал setClickable(false) (настройка по умолчанию).

Это волновой эффект!

Ответы [ 2 ]

0 голосов
/ 03 января 2019

В макете строки ListView просто добавьте:

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

Это добавит эффект Ripple. Если вы хотите показать его поверх других представлений, используйте атрибут forground:

android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
0 голосов
/ 03 января 2019

добавьте это foreground:?attr/selectableItemBackground к вашему атрибуту просмотра, оно должно работать

...