2016-05-17 68 views
-2

這是我的問題:當一些圖像被放置在GridLayout中時,其周圍的其他應用程序圖像消失。我注意到,似乎從視圖中「推出」其他圖像的圖像具有非常大的圖像按鈕不會在GridLayout中顯示或刪除對方

+0

你能發佈你的佈局和填充佈局的代碼嗎?我不認爲有關適配器的錯誤消息是指示問題。 – Cheticamp

+0

@Cheticamp我更新了Layout Xml文件。請讓我知道,如果你看到任何東西。非常感謝你提前 –

+0

XML是所有在一個文件中還是你添加了幾個不同的佈局?我沒有看到您的GridLayout的XML。 – Cheticamp

回答

1

我將概述XML中可能會導致某些問題的某些區域。首先,您需要一個XML佈局文件,其中 類似於以下內容,它們將保存您的頂層佈局。這將在它自己的文件中。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/home_fragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler_view" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

請注意,RecyclerView獨立於LinearLayout中。接下來需要一個單獨的XML文件 ,它將爲佈局的每個單元格保存ImageButton和TextView的佈局。這將適合RecyclerView中網格的每個 單元格。我使用android:scaleType="centerCrop"將大圖片放入ImageButton中。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp"> 

    <ImageButton 
     android:id="@+id/new_app_button" 
     android:layout_width="90dp" 
     android:layout_height="90dp" 
     android:layout_centerHorizontal="true" 
     android:adjustViewBounds="true" 
     android:scaleType="centerCrop" /> 

    <TextView 
     android:id="@+id/new_app_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/new_app_button" 
     android:layout_centerInParent="true" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" /> 

</RelativeLayout> 

RecyclerViewHolderonCreateViewHolder()將類似於以下假設「grid_cell.xml」是上面的XML文件的名稱 。

@Override 
public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) { 
    View layoutView = LayoutInflater.from(parent.getContext()) 
      .inflate(R.layout.grid_cell, parent, false); 
    RecyclerViewHolders holder = new RecyclerViewHolders(layoutView); 
    return holder; 
} 

試試看。我認爲一切都好。我希望它能幫助你。

+0

非常感謝你解決了這個問題!我現在批准你的問題:) - Emily –

+0

我很高興它的工作。 – Cheticamp

+0

在這個問題上沒有50賞金嗎? – Cheticamp

相關問題