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

效果图

item.xml

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

android:orientation="vertical"

android:background="@drawable/recycler_item_selector"

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/textView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:textSize="40sp"

android:text="aaaa"/>

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

android:color="@color/colorPrimary">

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());

}

}

/**

* item点击接口

*/

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);

}

}

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

android下拉水波纹,RecyclerView实现水波纹点击效果相关推荐

  1. Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)

    转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉载入,网上的Demo太多太多了,这 ...

  2. Android下拉刷新和上拉加载更多

    Android下拉刷新和上拉加载更多 下拉刷新 通过android系统提供的组件:SwipeRefreshLayout 一.基本使用 1 xml中 添加 SwipeRefreshLayout 组件 该 ...

  3. Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)

    转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉加载,网上的Demo太多太多了,这 ...

  4. Android下拉刷新开源库对比(转)

    安卓下拉刷新开源库对比 作者:desmond1121 目前仅比对github上star数>1500的下拉刷新开源库,在比较完成之后可能会加入其它有代表性的库. Repo Repo Owner S ...

  5. android下拉刷新和上拉加载的一个简单库

    介绍一个android下拉刷新.上拉加载的库: https://github.com/chrisbanes/Android-PullToRefresh 使用方式,创建好一个Android项目,导入li ...

  6. android下拉会谈效果,Android实现下拉展示条目效果

    本文实例为大家分享了Android下拉展示条目的具体代码,供大家参考,具体内容如下 布局文件 xmlns:tools="http://www.easck.com/tools" an ...

  7. Android下拉刷新的实现(一) - SwipeRefreshLayout篇

    Android下拉刷新的实现(一) - SwipeRefreshLayout篇

  8. Android下拉刷新

    早期下拉刷新主要是用XListView,这个类是继承ListView的,使用起来有局限性,并且在git上作者已经不维护了,之后有人自己写了一个PullToRefreshLayout,不用再继承自Lis ...

  9. android下拉五级菜单联动

    android下拉五级菜单联动 一.问题引出 本人是一个不擅长Android的开发的,但是这几天在做联通的一个服务器配件管理系统,做完B/S的又要写C/S的,老板要求没办法.在做的过程中遇到了一个下拉 ...

  10. 【原创】窥视懒人的秘密---android下拉刷新开启手势的新纪元

    小飒的成长史原创作品:窥视懒人的秘密---android下拉刷新开启手势的新纪元转载请注明出处 **************************************************** ...

最新文章

  1. PDC - C#4.0 以及未来
  2. js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...
  3. 生成模型和判别模型的区别
  4. linux内核杂记(3)-进程(1)
  5. Netty(一)——Netty入门程序
  6. OpenCL-3-同步机制
  7. java printwriter实例_PrintWriter做过滤流+FileWriter案例分析
  8. 张朝阳:选校草、跑马拉松、开5G峰会 搜狐最近要干这些事
  9. 开源机器学习工具SQLFlow
  10. thinkphp漏洞_【组件攻击链】ThinkCMF 高危漏洞分析与利用
  11. 【精品】好用的验证码工具类VerifyCodeUtils
  12. 终极算法——第九章:解开迷惑
  13. 关于Tomcat和Servlet容器的小结
  14. CF 950C.Zebras 模拟,set
  15. 如何修改PDF中图片的大小尺寸
  16. Mob免费验证码androidStudio实现
  17. 线程初步(四)--小练习
  18. 2022年的零日漏洞影响了哪些平台?
  19. 华为Ascend昇腾计算产业介绍
  20. extern、struct等关键字

热门文章

  1. 把两个数和告诉A,积告诉B,A说不知道是多少, B也说不知道,这时A说我知道了, B接着说我也知道了,求这两个数是什么
  2. 人生之路1.20代码 第三部分
  3. linux 改变输出端口,linux – 更改ssh端口后的Fail2ban设置
  4. Win实用 优秀 软件清单推荐
  5. 19年上半年读书清单一览
  6. 物联网系统网关开发与实现
  7. unity -- 存档与读档
  8. ESX修复Linux虚拟机重启只读模式
  9. vba formula 公式的引用
  10. 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成