Я использую приведенный ниже код для создания 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"
тоже самое.
Ваш код у меня работает. Проблема в другом.
Вы должны опубликовать весь макет для лучшего понимания
Вы работаете в api <21?
нет, я пробую api 25
добавьте card_view: cardCornerRadius = "15dp" в тег cardview, затем очистите и перестройте свой проект
Я не видел ничего плохого в вашем коде, но если он не работал. попробуйте добавить это:
app:cardCornerRadius = "@dimen/margin_small"
app:cardElevation = "@dimen/margin_small"
app:cardUseCompatPadding = "true"
У меня это сработало. И убедитесь, что вы используете API 21 выше.
Не могли бы вы упомянуть изменения, которые необходимо внести в макет?
Попробуй это :
<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>
справочная ссылка: проверьте здесь
Не могли бы вы упомянуть скриншот экрана просмотра вашей карты?
Попробуй это
<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"
, который он уже использует
Вот почему я написал это в предложении. Я не думал об этом. Как я уже сказал, вы пробовали увеличить угол_радиуса?
Поскольку в вашем коде нет ничего плохого, я посоветовал попробовать больший радиус.
У меня тоже была такая же проблема. Я обнаружил, что ...
android:hardwareAccelerated = "false"
удалил эту строку из манифестов, и проблема была решена для меня.
попробуйте в style.xml
<item name = "cardCornerRadius">9dp</item>
или просто поместите эту строку в XML-файл представления карты
app:cardCornerRadius = "9dp"
попробуйте удалить android: foreground = "? android: attr / selectableItemBackground"