Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Как добиться однородного фона (TextView внутри CardView)?

#android #android_layout


В моей программе мне нужно использовать TextView внутри Cardview из библиотеки поддержки.
Нужны скругленные углы. Нужно иметь возможность изменять цвет элемента программно.
Следующий код:


        
    


приводит к такому результату:



Эти странные полосы и черточки меня совершенно не устраивают.

Следующий же код:


        
    


приводит к другому результату:



Второй результат мне не подходит из-за белых краев.

Третья моя попытка: 
Создала файл rownded_corners.xml  в папке drawable:

    

    
    



и в разметке второй попытки задала его в качестве фона TextView:

android:background="@drawable/rounded_corner"


Вот что получилось:

 

Здесь меня не устраивает белая рамка.

В общем, вопрос:
Как мне добиться однородного цвета, заполняющего весь CardView, и сохранить возможность
программно установить другой цвет.

UPDATE. Описанное в вопросе недоразумение уже разрешилось. См. мой ответ.
    


Ответы

Ответ 1



Попробуйте так: card_view:cardBackgroundColor="@android:color/white" или так: cardView.setCardBackgroundColor(Color.WHITE);

Ответ 2



Представляете, описанное в вопросе недоразумение было вызвано тем, что используемый мною цвет (colorPrimary) был полупрозрачным (что-то вроде #a03F51B5) и через него была видна "кухня" построения CardView. Я изменила его на #3F51B5 и первый вариант дал желаемый результат даже без атрибута, предложенного @ЮрийСПб.

Ответ 3



Попробуйте добавить вот этот атрибут в разметку карточки: card_view:cardUseCompatPadding="true"

Комментариев нет:

Отправить комментарий