2017-04-02 54 views
-1

我想更改长按卡上的卡片视图的背景,并且我访问了很多论坛,但没有人给出正确的答案。更改长按项目的背景

那么,如何改变列表/卡/回收站视图的背景就像长按导航视图项目?

回答

1

我想你试图在CardView上实现Ripple Effect。为了实现这一点,请在xml中将以下属性添加到CardView中:

希望这会有所帮助。 Source

0

如果使用RecyleView。您必须在RecyleViewAdapter上使用onLongClickListener()事件。就像 -

@Override 
     public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { 
       final ViewHolder holder = (ViewHolder) holder; 

       //go news details fragment 
       holder.newsContentLayout.setOnLongClickListener(new View.OnLongClickListener() { 
        @Override 
        public void onLongClick(View v) { 
        // change you cardview background 
        holder.cvCardView.setImageDrawable(holder.cvCardView.getContext().getResources() 
          .getDrawable(R.drawable.bg_cardview)); 

        } 
       }); 
     } 

如果使用ListView那么你可以做到这一点 -

listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
      @Override 
      public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { 

      CardView cardView = (CardView) view.findViewById(R.id.cardview); 
      cardView.setBackgroundDrawable(getApplicationContext().getResources().getD rawable(R.drawable.background)); 
        return false; 
       } 
      });