2017-05-07 74 views
0

我正在使用網格視圖在我的應用程序中顯示圖片,而我正在使用CardView作爲父元素。 我希望CardView從頁面開始和每個CardView之間有一定的空間,因此我將layout_margin設置爲5dp。 我也想在圖像和CardView的開始之間留出一些空間,所以我把contentPadding設置爲10dp。 結果雖然不是我想要的。看來,layout_margin是推圖像本身和右側的填充不10dp,我想,但10dp - 5DP,我真的不知道如何解決佈局頁邊距在ImageView中推送圖片

這裏是視覺的例子:

enter image description here

這是結果我得到:

enter image description here

你可以看到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

請提供您的'ImageViewStyle' –

+0

編輯代碼 – Binev

+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> 

+0

我的回答不,沒沒有工作。同樣的事情發生。右側再次被推動。 如果我刪除layout_margin它是好的,但我需要在卡片視圖之間的空間 – Binev

+0

它沒有任何意義,我只是試過它,它不會發生在我身邊。你是否複製並粘貼了我的答案,整個cardView?你在哪裏設置imageView背景? –

+0

這對我來說也很奇怪,因爲我使用了另一個視圖,它不是網格視圖,而是一個回收視圖,並且這裏不存在任何問題! 我正在使用Glide: 'imageView =(ImageView)row.findViewById(R.id.image); (文件) .into(imageView);' – Binev