1. 程式人生 > >RecyclerView item按下變色效果

RecyclerView item按下變色效果

相信大家肯定有過這樣的需求,recyclerview的條目按下變色或者來個波瀾效果.你肯定想到的是設定背景

 
android:background="@drawable/item_pressed"

但是你有沒有發現無論你怎麼設定都不起作用,到達本文的關鍵點微笑

其實你只要設定對應條目的點選事件,以上方法就會起作用,黑體為關鍵部分
@Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
        int viewType = getItemViewType(position);
        if (viewType == 1) {
            ((MyViewHolderType1) holder).mTextView.setText("型別1++++++++" + position);
               //關鍵部分
               holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                     Toast.makeText(holder.itemView.getContext(),"點選了", Toast.LENGTH_SHORT).show();
                }
            });
        } else if (viewType == 2) {
            ((MyViewHolderType2) holder).mTextView.setText("型別2++++++++" + position);
        } else {
            ((MyViewHolderType3) holder).mTextView.setText("型別3++++++++" + position);
        }
    }