Rak*_*iya 6

您可以通过以下方式获取。

将此代码添加到适配器的onBindViewHolder()方法中。像这样:

@Override
public void onBindViewHolder(ViewHolder holder, int position)
{
  if(position % 2 == 0) 
  {
     //holder.rootView.setBackgroundColor(Color.BLACK);
     holder.rootView.setBackgroundResource(R.color.black);
  }
  else 
  {
     //holder.rootView.setBackgroundColor(Color.WHITE);
     holder.rootView.setBackgroundResource(R.color.white);
  }
}
Run Code Online (Sandbox Code Playgroud)

之后围绕包含卡片设计的布局 xml 文件,例如如下所示:

<LinearLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/rootView"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_gravity="center"
 android:orientation="vertical">

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="72dp"
android:background="@color/my_white"
android:orientation="horizontal">

<ImageView
    android:id="@+id/folder_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:layout_gravity="center"
    android:layout_marginLeft="16dp"
    android:src="@drawable/folder_icon" />

<TextView
    android:id="@+id/folder_name"
    android:layout_width="190dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginLeft="16dp"
    android:text="The Mills"
    android:textColor="@color/my_blue"
    android:textSize="16sp"
    android:textStyle="bold" />

<ImageView
    android:id="@+id/folder_content_icon"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_gravity="center"
    android:layout_marginLeft="12dp"
    android:src="@drawable/folder_content_icon" />

<TextView
    android:id="@+id/content_number"
    android:layout_width="30dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginLeft="16dp"
    android:gravity="left"
    android:text="3"
    android:textColor="@color/my_blue"
    android:textSize="16sp"
    android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

之后,在适配器的View Holder类中创建变量,如下所示:

public static class ViewHolder extends RecyclerView.ViewHolder
{
    LinearLayout rootView;//newly added field
    public ViewHolder(View view)
    {
        super(view);
        rootView=(LinearLayout)view.findViewById(R.id.rootView);
     }
}
Run Code Online (Sandbox Code Playgroud)

它将帮助您获得所需的结果。