Android ListView 卡片行为
Android ListView card behaviour
我刚刚注意到一件事。当我在 ListView 中使用布局时,我通常使用 LinearLayout,然后在其中使用 CardView。 CardView 的边距为 10dp,看起来一切正常。但是,当我只使用具有相同属性的 CardView 时,它根本没有给我余地。我做错了什么吗?
布局 1(给我想要的布局):
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
card_view:cardBackgroundColor="@color/white"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>
</LinearLayout>
版式 2(无边距):
<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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true"
card_view:cardBackgroundColor="@color/white">
</android.support.v7.widget.CardView>
我也运行遇到这个问题。我认为会发生这种情况,因为 ListView ignores/doesn 不支持 margin 属性。
更多相关信息:Why LinearLayout's margin is being ignored if used as ListView row view
旁注:我会在 CardView 周围使用 FrameLayout,它在性能方面更好。
我刚刚注意到一件事。当我在 ListView 中使用布局时,我通常使用 LinearLayout,然后在其中使用 CardView。 CardView 的边距为 10dp,看起来一切正常。但是,当我只使用具有相同属性的 CardView 时,它根本没有给我余地。我做错了什么吗?
布局 1(给我想要的布局):
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
card_view:cardBackgroundColor="@color/white"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true">
</android.support.v7.widget.CardView>
</LinearLayout>
版式 2(无边距):
<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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true"
card_view:cardBackgroundColor="@color/white">
</android.support.v7.widget.CardView>
我也运行遇到这个问题。我认为会发生这种情况,因为 ListView ignores/doesn 不支持 margin 属性。
更多相关信息:Why LinearLayout's margin is being ignored if used as ListView row view
旁注:我会在 CardView 周围使用 FrameLayout,它在性能方面更好。