2017-04-02 9 views
-1

ロングプレスでのカードビューの背景を変更したいと思います。私は多くのフォーラムにアクセスしましたが、誰も適切な答えを出しませんでした。ロングプレスでのアイテムの背景の変更

リストビュー/カード/リサイクルビューの背景を変更するには、ナビゲーションビューのアイテムを長押しするのと同じように?

答えて

1

あなたはリップル効果をCardViewに実装しようとしているようです。これを実現するには、xmlでCardViewに次の属性を追加します。

希望します。 Source

0

RecyleViewを使用する場合。 AdapteronLongClickListener()イベントをRecyleViewとする必要があります。ただ、好き -

@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; 
       } 
      }); 
関連する問題