簡體   English   中英

使用DividerItemDecoration在recyclerview中隱藏一些項目分隔線

[英]Hide some item dividers in recyclerview using DividerItemDecoration

我有一個具有多個項目類型的回收站視圖,我想隱藏選定的分隔線(從圖像中)。 我目前正在將DividerItemDecoration用於水平和垂直裝飾。

DividerItemDecoration verticalDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL);
verticalDecoration.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider_2dp));
DividerItemDecoration horizontalDecoration = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
horizontalDecoration.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider_2dp));

mRecyclerView.addItemDecoration(verticalDecoration);
mRecyclerView.addItemDecoration(horizontalDecoration);

在此處輸入圖片說明

正如Micha在回答您的答案時所說的那樣,您應該在類級別上刪除對分隔符的處理,並將其添加到Adapter視圖中。 將一個視圖添加到您的viewholder xml:

<View
    android:id="@+id/divider"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@color/light_grey"/>

根據您的喜好水平或垂直,並通過適配器中的條件控制其可見性:

View tipsDivider = itemView.findViewById(R.id.divider);
myViewHolder.divider.setVisibility(View.GONE);

特別是對於您的問題,不要在行的外邊緣包括分隔線,並且當您擁有標題(“ ADVANCED”)或當元素位於position == arraylist.size() - 1;時,也不要隱藏分隔線position == arraylist.size() - 1;

希望對任何人也有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM