RecycleView水波纹 以及RecycleView的滑动动画
来源:互联网 发布:thrift java c 编辑:程序博客网 时间:2024/05/10 08:52
水波纹第一步:gradler文件
compile 'com.android.support:recyclerview-v7:25.1.0'
第二步
public class MainActivity extends AppCompatActivity { private RecyclerView recycle; private ArrayList<String> textList; private ArrayList<Integer> imgList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { recycle = (RecyclerView) findViewById(R.id.recycle); recycle.setLayoutManager(new LinearLayoutManager(this)); initData(); getPic(); recycle.setAdapter(new MyAdapter(MainActivity.this,textList,imgList)); } //拿数据 private void initData() { textList = new ArrayList<>(); for (int i = 0; i <10 ; i++) { textList.add("我是条目"+i); } } //拿图片 public void getPic() { imgList = new ArrayList<>(); for (int i = 0; i < 10; i++) { imgList.add(R.mipmap.ic_launcher); } }}//设置数据适配器class MyAdapter extends RecyclerView.Adapter<MyHolder> { private final Context context; private final ArrayList<String> textList; private final ArrayList<Integer> imgList; public MyAdapter(Context context, ArrayList<String> textList, ArrayList<Integer> imgList) { this.context=context; this.textList=textList; this.imgList=imgList; } @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = View.inflate(context, R.layout.recycle_item, null); //添加属性动画 ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(v, View.TRANSLATION_Y, 500,300,100, 0); objectAnimator.setDuration(500); objectAnimator.start(); MyHolder holder =new MyHolder(v); return holder; } @Override public void onBindViewHolder(MyHolder holder, int position) { holder.tv.setText(textList.get(position)); holder.img.setImageResource(imgList.get(position)); //使用RippleView点击事件 //动画结束跳转 holder.ripp.setOnRippleCompleteListener(new RippleView.OnRippleCompleteListener() { @Override public void onComplete(RippleView rippleView) { Intent in= new Intent(context,Main2Activity.class); context.startActivity(in); } }); } @Override public int getItemCount() { return textList.size(); }}//设置ViewHolderclass MyHolder extends RecyclerView.ViewHolder { public final ImageView img; public final TextView tv; public final RippleView ripp; public MyHolder(View itemView) { super(itemView); img = (ImageView) itemView.findViewById(R.id.img); tv = (TextView) itemView.findViewById(R.id.tv); ripp = (RippleView) itemView.findViewById(R.id.ripp); }}
第三部水波纹中的 RippleView :
<com.andexert.library.RippleView android:id="@+id/ripp" android:layout_width="match_parent" android:layout_height="match_parent" app:rv_color="#ffff00" app:rv_type="rectangle" app:rv_zoomDuration="@android:integer/config_longAnimTime">
0 0
- RecycleView水波纹 以及RecycleView的滑动动画
- 横向滑动的Recycleview
- recycleview+NestedScrollView+viewpager 解决滑动问题以及recycleview的使用技巧
- Android 禁止RecycleView的滑动
- Android 禁止RecycleView的滑动
- 解决scrollview嵌套recycleview,recycleview抢走滑动事件的问题
- 解决RecycleView嵌套RecycleView滑动卡顿的问题
- 使用RecycleView删除条目 以及动画条目
- Recycleview的使用以及编写Recycleview适配器的框架-BaseRecyclerViewAdapterHelper
- recycleView
- RecycleView
- RecycleView
- RecycleView
- RecycleView
- RecycleView
- RecycleView
- recycleview
- RecycleView
- mysql的磁盘碎片
- 内存不足 java.lang.OutOfMemoryError: Java heap space
- 从折棍子(Stick Breaking)模型到狄利克雷过程(DP)
- Linux服务器命令操作及环境安装
- Shell script的语法一:基础语法
- RecycleView水波纹 以及RecycleView的滑动动画
- 知识点--linux--不断总结
- 2017年1月9日
- 使用ButterKnife+Zelezny快速创建View对象并绑定控件
- 本地通知和远程推送
- 如何用eclipse编写JSP,JS代码时自动提示
- 阿里云搭建wordpress生产级CMS网站实践
- 微信小程序的影响
- 如何归档安装Yii2框架