OnTouch Listener удаляет закругленные углы на CardView - PullRequest
0 голосов
/ 11 марта 2019

Я добавил onTouchListener к моему RecyclerView адаптеру, и он отлично работает с изменением цвета, но он также удаляет скругленные углы RecyclerView.Вы можете увидеть это на скриншоте.

Вот код:

holder.cardViewRemaining.setOnTouchListener((v, event) -> {
        if(event.getAction() == MotionEvent.ACTION_DOWN)
        {
            v.setBackgroundColor(Color.parseColor("#f0f0f0"));
        }
        if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL)
        {
            v.setBackgroundColor(Color.WHITE);
        }
        return false;
    });

before touch

after touch

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Вам нужно использовать setCardBackgroundColor().

holder.cardViewRemaining.setOnTouchListener((v, event) -> {
        if(event.getAction() == MotionEvent.ACTION_DOWN)
        {
            holder.cardViewRemaining.setCardBackgroundColor(Color.parseColor("#f0f0f0"));
        }
        if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL)
        {
            holder.cardViewRemaining.setCardBackgroundColor(Color.WHITE);
        }
        return false;
    });
0 голосов
/ 11 марта 2019

Как программно закруглить углы и установить случайные цвета фона

Кажется, что вместо использования метода setBackgroundColor вы должны получить фон для рисования и установить его цвет.

Дайте мне знать, помогло ли это вам.

...