Как исправить проблему с радиусом CardView Corner?

Я использую приведенный ниже код для создания CardView с углами, но он остается прямоугольным.

<android.support.v7.widget.CardView xmlns:android = "http://schemas.android.com/apk/res/android"
    xmlns:card_view = "http://schemas.android.com/apk/res-auto"
    android:id = "@+id/cardview_id"
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    android:layout_margin = "5dp"
    android:clickable = "true"
    android:focusable = "true"
    android:foreground = "?android:attr/selectableItemBackground"
    card_view:cardCornerRadius = "6dp">

ОБНОВИТЬ : в моем манифесте была ошибка, я просто удаляю эту строку:

android:hardwareAccelerated = "false"

попробуйте удалить android: foreground = "? android: attr / selectableItemBackground"

Zaid Mirza 25.10.2018 15:38

тоже самое.

KOTL NIAS 25.10.2018 15:41

Ваш код у меня работает. Проблема в другом.

Khemraj Sharma 25.10.2018 15:44

Вы должны опубликовать весь макет для лучшего понимания

Akshay Paliwal 25.10.2018 15:45

Вы работаете в api <21?

Thiện Kopites 25.10.2018 15:46

нет, я пробую api 25

KOTL NIAS 25.10.2018 15:54

добавьте card_view: cardCornerRadius = "15dp" в тег cardview, затем очистите и перестройте свой проект

Zahoor Saleem 25.10.2018 19:30
5
7
4 765
5

Ответы 5

Я не видел ничего плохого в вашем коде, но если он не работал. попробуйте добавить это:

    app:cardCornerRadius = "@dimen/margin_small"
    app:cardElevation = "@dimen/margin_small"
    app:cardUseCompatPadding = "true"

У меня это сработало. И убедитесь, что вы используете API 21 выше.

Не могли бы вы упомянуть изменения, которые необходимо внести в макет?

Akshay Paliwal 25.10.2018 15:48

Попробуй это :

<android.support.v7.widget.CardView 
    xmlns:card_view = "http://schemas.android.com/apk/res-auto"
    android:id = "@+id/card_view"
    android:layout_width = "match_parent"
    android:layout_height = "wrap_content"
    android:layout_margin = "8dp"
    card_view:cardCornerRadius = "4dp">

 </android.support.v7.widget.CardView>

справочная ссылка: проверьте здесь

Не могли бы вы упомянуть скриншот экрана просмотра вашей карты?

Abhinav Gupta 25.10.2018 16:04

Попробуй это

<android.support.v7.widget.CardView 
    ...
    card_view:cardCornerRadius = "20dp">

 </android.support.v7.widget.CardView>

Возможно радиус 6dp не примечателен. :)

Предположение

Вам не нужно создавать много пространств имен, вы можете использовать app для каждого атрибута.

Просто используйте это

xmlns:app = "http://schemas.android.com/apk/res-auto"
app:cardCornerRadius = "20dp"
app - это просто имя переменной. на самом деле это "http://schemas.android.com/apk/res-auto", который он уже использует
Zaid Mirza 28.10.2018 06:11

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

Khemraj Sharma 28.10.2018 06:31

Поскольку в вашем коде нет ничего плохого, я посоветовал попробовать больший радиус.

Khemraj Sharma 28.10.2018 06:34

У меня тоже была такая же проблема. Я обнаружил, что ...

        android:hardwareAccelerated = "false"

удалил эту строку из манифестов, и проблема была решена для меня.

попробуйте в style.xml

<item name = "cardCornerRadius">9dp</item>

или просто поместите эту строку в XML-файл представления карты

app:cardCornerRadius = "9dp"

Другие вопросы по теме