1

我使用CarViews和RecyclerView,加載時看起來很好,但一旦滾動列表時,CardView之間的差距會增大,並且一次只能顯示一張圖片。CardViews之間的差距在滾動上增加

這裏是我的CardView.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 

    <android.support.v7.widget.CardView 
     android:id="@+id/conversationCard" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="16dp"> 

      <TextView 
       android:id="@+id/sender" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <TextView 
       android:id="@+id/abstractConvo" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textSize="35dp"/> 

     </RelativeLayout> 

    </android.support.v7.widget.CardView> 

</LinearLayout> 

,這裏是我如何使用這個觀點

public class ConversationsListAdapter extends RecyclerView.Adapter<ConversationsListAdapter.ConversationsListViewHolder> { 

    List<Conversation> conversationList; 

    public ConversationsListAdapter(List<Conversation> conversationList) { 
     this.conversationList = conversationList; 
    } 

    @Override 
    public int getItemCount() { 
     return conversationList.size(); 
    } 

    @Override 
    public ConversationsListViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { 
     View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.conversation_card, viewGroup, false); 
     ConversationsListViewHolder listViewHolder = new ConversationsListViewHolder(view); 
     return listViewHolder; 
    } 

    @Override 
    public void onBindViewHolder(ConversationsListViewHolder holder, int position) { 
     holder.sender.setText(conversationList.get(position).getSenderPhNo()); 
     holder.abstractConvo.setText(conversationList.get(position).getAbstractConvo()); 
    } 

    public static class ConversationsListViewHolder extends RecyclerView.ViewHolder { 
     CardView cv; 
     TextView abstractConvo, sender; 

     public ConversationsListViewHolder(View itemView) { 
      super(itemView); 
      cv = (CardView) itemView.findViewById(R.id.conversationCard); 
      sender = (TextView) itemView.findViewById(R.id.sender); 
      abstractConvo = (TextView) itemView.findViewById(R.id.abstractConvo); 
     } 
    } 
} 

下面是截圖列表滾動 enter image description here

之前滾動後 enter image description here

提前致謝。

回答

5

根佈局使用WRAP_CONTENT

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 
+0

這個工作。謝謝。 –