Android 使列表项大小一致

Android 使列表项大小一致,android,Android,我有一个问题,列表项的大小根据手机是否为21+而有所不同 它如何使21世纪之前的设备在项目之间具有相同的间距 名单: 项目: 这是由于阴影是如何在不同的API级别上绘制的。在21+中,阴影绘制在视图本身的外部,而在较旧的级别上,阴影必须绘制在视图的边界内。支持库在这些旧API级别的CardView中添加了填充,以便有空间绘制阴影 您可以将此属性添加到: 在棒棒糖之前,CardView会在其内容中添加填充,并在该区域绘制阴影 及 或者,如果您希望CardView在平台Lollipop和之后也

我有一个问题,列表项的大小根据手机是否为21+而有所不同

它如何使21世纪之前的设备在项目之间具有相同的间距

名单:


项目:



这是由于阴影是如何在不同的API级别上绘制的。在21+中,阴影绘制在视图本身的外部,而在较旧的级别上,阴影必须绘制在视图的边界内。支持库在这些旧API级别的
CardView
中添加了填充,以便有空间绘制阴影

您可以将此属性添加到

在棒棒糖之前,CardView会在其内容中添加填充,并在该区域绘制阴影

或者,如果您希望CardView在平台Lollipop和之后也添加内部填充,则可以调用setUseCompatPadding(布尔)并传递true

<ListView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:clipToPadding="false"
    android:divider="@color/transparent"
    android:dividerHeight="0dp"
    android:listSelector="@drawable/list_selector_transparent"
    android:paddingBottom="1dp"
    android:paddingTop="3dp"
    android:scrollbarAlwaysDrawVerticalTrack="false"
    android:smoothScrollbar="true"
    android:visibility="visible" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false">

<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_gravity="center"
    android:layout_marginBottom="3.5dp"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginTop="1.5dp"
    card_view:cardCornerRadius="3dp"
    card_view:cardElevation="1.7dp">
</android.support.v7.widget.CardView>
</LinearLayout>
app:cardUseCompatPadding="true"