如何在recyclerview中设置奇数和偶数位置的颜色?

时间:2018-02-09 11:01:30

标签: android-layout android-studio

1 个答案:

答案 0 :(得分:3)

您可以通过以下方式获得此信息。

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

INFO  | localhost | org.springframework.boot.web.servlet.ServletRegistrationBean | Mapping servlet: 'MyBeautifulServlet' to [/mySuperApp/service1/*, /mySuperApp/service2/*]

然后围绕包含卡片设计的布局xml文件,例如:

@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);
  }
}

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

<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" />

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