我正在使用网格视图在我的应用程序中显示图像,我使用CardView作为父元素。 我希望CardView从页面的开始和每个CardView之间有一些空间,所以我将layout_margin设置为5dp。 我还想在图像和CardView的初始化之间留一些空间,所以我把contentPadding设置为10dp。 结果虽然不是我想要的。似乎layout_margin正在推动图像本身,而右侧的填充不是10dp,而是10dp - 5dp,我真的不知道如何解决这个问题
以下是视觉示例:
这是我得到的结果:
您可以看到CardView的右侧以及图像未正确居中的方式。
感谢您的帮助!
编辑: ImageViewStyle:
<style name="ImageViewStyle">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">@dimen/card_view_image_view_height</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_alignParentTop">true</item>
<item name="android:scaleType">centerCrop</item>
</style>
答案 0 :(得分:2)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_margin="5dp"
app:cardCornerRadius="2dp">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_margin="10dp"
android:background="@drawable/image"/>
</android.support.v7.widget.CardView>