专业制作外贸网站,网站详情页怎么做,做网站需要什么人员,网站建设公司运营模式界面无小事(一): RecyclerViewCardView了解一下 界面无小事(二): 让RecyclerView展示更多不同视图 界面无小事(三):用RecyclerView Toolbar做个文件选择器 界面无小事(四):来写个滚动选择器吧! 界面无小事(五):自定义TextView 界面无小事(六):来做个好看得侧拉菜单! 界面无小事…界面无小事(一): RecyclerViewCardView了解一下 界面无小事(二): 让RecyclerView展示更多不同视图 界面无小事(三):用RecyclerView Toolbar做个文件选择器 界面无小事(四):来写个滚动选择器吧! 界面无小事(五):自定义TextView 界面无小事(六):来做个好看得侧拉菜单! 界面无小事(七):使用代码动态增删布局 目录 前言增删item自定义增删动画最后前言 之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了. 增删item 当然首先你可以按照第一篇-界面无小事(一): RecyclerViewCardView了解一下建立基础的RecyclerView. 这次的关键是在适配器代码中加入增删item的操作. 要注意一点, 刷新和原来在ListView的操作是不一样的. 你可以直接看官方文档, 大致有这几个: notifyItemInserted()notifyItemRemoved()notifyItemMoved()notifyItemChanged() 在适配器中加入如下代码: public void addData(int position) {mData.add(position, hello python);notifyItemInserted(position);
}public void removeData(int position) {mData.remove(position);notifyItemRemoved(position);
}
复制代码 然后我们在toolbar中加上add和del按钮, 对应这两个方法. ?xml version1.0 encodingutf-8?
menu xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoitemandroid:idid/addandroid:iconmipmap/ic_launcherandroid:titlestring/addapp:showAsActionnever /itemandroid:idid/delandroid:iconmipmap/ic_launcherandroid:titlestring/delapp:showAsActionnever /
/menu
复制代码 并且设置长按为删除操作, 点击是增加操作. 好了, 上效果图: 不单单是我演示的这种布局, 还有线型的, 横向的, 瀑布流都可以有这种类似效果. 可参考界面无小事(二): 让RecyclerView展示更多不同视图. 那既然有默认动画, 肯定就能自定义动画了. 在这之前, 先说说几个方法. 用来设置动画的具体状态的持续时间. rvTest.getItemAnimator().setAddDuration(400);
rvTest.getItemAnimator().setRemoveDuration(400);
rvTest.getItemAnimator().setMoveDuration(400);
rvTest.getItemAnimator().setChangeDuration(400);
复制代码自定义增删动画 这里借助开源项目. 因为这个项目真的足够地棒. 自带动画个数都已经足够用了, 见下. 你还可以继续在这基础上自定义. 是不是感觉三生万物了. Animators 分类动画类名CoolLandingAnimatorScaleScaleInAnimator, ScaleInTopAnimator, ScaleInBottomAnimator, ScaleInLeftAnimator, ScaleInRightAnimatorFadeFadeInAnimator, FadeInDownAnimator, FadeInUpAnimator, FadeInLeftAnimator, FadeInRightAnimatorFlipFlipInTopXAnimator, FlipInBottomXAnimator, FlipInLeftYAnimator, FlipInRightYAnimatorSlideSlideInLeftAnimator, SlideInRightAnimator, OvershootInLeftAnimator, OvershootInRightAnimator, SlideInUpAnimator, SlideInDownAnimator 而且非常难得的是使用方法还很简单, 需要几个步骤 在Module的build.gradle中写入 dependencies {implementation jp.wasabeef:recyclerview-animators:2.3.0
}
复制代码 在Project的build.gradle中写入 repositories {google()jcenter()
}
复制代码 具体使用部分只要用动画类名替换之前默认的动画类名即可. 例如: rvTest.setAdapter(mAdapter);
rvTest.setItemAnimator(new SlideInLeftAnimator());
复制代码 好了, 接下来看几个效果图吧: 最后 喜欢记得点赞哦, 有意见或者建议评论区见, 暗中关注我也是可以的.