Listview每行的颜色不同

时间:2018-11-27 18:38:29

标签: android android-listview

您好,我正在使用具有自定义行布局的Listview。我在CardView的Listview的行布局中使用了LinearLayout。我在drawable中有一些渐变形状,所以我想将它们提供给LinearLayout的背景。如何将我的线性问题赋予线性布局,所以Listview的每一行都将填充不同的渐变。 每行应具有不同的渐变背景。 这是我的ListView的行布局

<android.support.v7.widget.CardView
            android:id="@+id/card_iq_sidebar"
            android:layout_width="50dp"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/circle_purple"
                android:orientation="vertical"></LinearLayout>
        </android.support.v7.widget.CardView>

1 个答案:

答案 0 :(得分:1)

在控制自定义行的位置使用此代码,以便根据适配器位置更改背景可绘制的图像。 mainlayout是您的linearlayout,但是我的代码仅使用2个渐变。

如果要为每个单元格使用不同的颜色,请定义资源数组,并将getAdapterPosition()用于资源数组索引。 (注意,您可以轻松摆脱错误)

资源数组android using xml array resources的信息

        if(!(getAdapterPosition() % 2 == 0)){
            mainLayout.setBackgroundResource(R.drawable.bg_dashboard_row_reverse);

        }
        else{
            mainLayout.setBackgroundResource(R.drawable.bg_dashboard_row);

        }

我希望你有主意。