栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

RecyclerView实现水波纹点击效果

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RecyclerView实现水波纹点击效果

本文实例为大家分享了RecyclerView实现水波纹点击效果的具体代码,供大家参考,具体内容如下

效果图

item.xml

这里就是主要设置background为我们后面写的一个selector



 

drawable-v21/recycler_item_selector.xml (v21版本以上)



 

drawable/recycler_item_selector.xml (v21版本以下的没有水波纹效果)



 
 
 

接下来是MyAdapter

public class MyAdapter extends RecyclerView.Adapter {


 private onRvItemClick mOnRvItemClick;
 private Context mContext;
 String[] strings;

 public MyAdapter(Context ctx, String[] strings, onRvItemClick onRvItemClick) {
  mContext = ctx;
  this.monRvItemClick = onRvItemClick;
  this.strings = strings;
 }

 @Override
 public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  View view = LayoutInflater.from(mContext).inflate(R.layout.item, parent, false);
  return new ViewHolder(view);
 }

 @Override
 public void onBindViewHolder(ViewHolder holder, int position) {
  holder.setData(position);
 }

 @Override
 public int getItemCount() {
  return 20;
 }


 public class ViewHolder extends RecyclerView.ViewHolder implements View.onClickListener {
  @BindView(R.id.textView)
  TextView textView;

  public ViewHolder(View itemView) {
   super(itemView);
   ButterKnife.bind(this,itemView);
   itemView.setonClickListener(this);
  }

  public void setData(int position) {

   textView.setText("position" + position);
  }

  @Override
  public void onClick(View view) {
   if (monRvItemClick != null)
    mOnRvItemClick.onItemClick(view, getAdapterPosition());
  }

 }


 
 public interface onRvItemClick {
  void onItemClick(View v, int position);
 }
}

MainActivity

public class MainActivity extends AppCompatActivity {

 @BindView(R.id.RecyclerView)
 RecyclerView mRecyclerView;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  ButterKnife.bind(this);
  MyAdapter myAdapter = new MyAdapter(this, null, new MyAdapter.onRvItemClick() {
   @Override
   public void onItemClick(View v, int position) {
    Toast.makeText(getApplicationContext(), "click" + position, Toast.LENGTH_SHORT)
      .show();
   }
  });
  mRecyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));

  mRecyclerView.setAdapter(myAdapter);
 }
}

github :RecyclerView水波纹效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/155056.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号