Я использую CardView как элемент внутри RecyclerView. При этом андроид автоматически создает поля между картой и экраном и между различными картами.У CardView внутри RecyclerView дополнительные поля
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/galleryCardBGColor"
app:cardCornerRadius="2dp" >
<android.support.v7.widget.RecyclerView
android:id="@+id/my_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical" />
Я следовал инструкциям в ссылке, чтобы интегрировать их в свой проект: using-recyclerview-and-cardview-in-eclipse-adt
Я был ранее с использованием LinearLayout для элемента списка:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
Это работает отлично отлично, без каких-либо полей между элементами списка. Теперь я только что разместил линейный макет внутри cardView, который привел к дополнительным полям.
Причина в том, что я хочу предоставить точные поля этим элементам, и все поля, которые я поставлю сейчас, добавляются к этим существующим полям. Я попытался подавать нулевые/отрицательные прокладки/поля на элемент cardView, но ни одна из этих функций не работает.
Любая идея, я могу удалить эти поля или иначе точно узнать, сколько добавляется маржа.
Это набивка да я тестирую на предварительно L устройства. Спасибо, что указали мне в правильном направлении: в документации CardView я нашел следующее: Перед L CardView добавляет дополнение к своему контенту и рисует тени в этой области. Это количество дополнений равно maxCardElevation + (1 - cos45) * cornerRadius по бокам и maxCardElevation * 1.5 + (1 - cos45) * cornerRadius сверху и снизу. Я могу определить значения заполнения из этого (и вычесть из того, что я хочу предоставить). На данный момент у меня нет устройства L, обновляется, как только я проверю это. ps: -ve поля не работают. – vj9
Точнее: card_view: cardUseCompatPadding = "true" –
Это сработало для меня: https://android.jlelse.eu/using-full-width-cards-to-maximize-content-f739cb863ce8 –