RecyclerView使用SnapHelper打造ViewPager
RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类,用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。 SnapHelper是一个抽象类,官方提供了一个LinearSnapHelper的子类,可以让RecyclerView滚动停止时相应的Item停留中间位置。25.1.0版本中官方又提供了一个PagerSnapHelper的子类,可以使Recycl…
RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类,用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。 SnapHelper是一个抽象类,官方提供了一个LinearSnapHelper的子类,可以让RecyclerView滚动停止时相应的Item停留中间位置。25.1.0版本中官方又提供了一个PagerSnapHelper的子类,可以使Recycl…
在开发中,我们经常遇到需要和原生交互的场景,ReactNative已经给我们预置了相关接口,接下来简单使用一下吧。 1.初始化一个空项目,用作示例: react-native init Demo cd Demo react-native run-android 2.用Android Studio编写JAVA代码: 新建ToastModule类继承ReactContextBaseJavaModule…
避免国内被墙,设置镜像源: export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn Windows直接添加上述环境变量即可。 下载Flitter安装包: https://flutter.io/docs/development/tools…
环境安装: Node, Python2, JDK,Android Studio,SDK 需要注意 Node 的版本必须高于 8.3,Python 的版本必须为 2.x(不支持 3.x), JDK 的版本必须是 1.8。 上述环境软件百度即可下载,安装完毕后执行以下命令: npm config set registry https://registry.npm.taobao.org –global…
今天突然想到Retrofit2创建Service需要传递一个接口,但是我们都知道接口是不能直接生成实例的,那么Retrofit2是如何做到的呢?带着疑惑,看一波源码。 //创建实例 retrofit.create(VideoApis.class); 跟进create方法: //此方法需要一个Class类 public <T> T create(final Class<T> …
不得不说RecyclerView真的很强大,例如无限轮播Banner,滑动卡片等都有RecyclerView的版本,他们是怎么做的呢?答案是基于RecyclerView.LayoutManager,我们可以自定义RecyclerView.LayoutManager,然后控制RecyclerView内部Item的位置以及大小达到我们想要的效果,为了简单,我们先自定义一个RecyclerView.La…
场景:经常在项目中高频使用按钮,比如 完成、下一步等有圆角且有按下效果的Button 思路:写个自定义Button,编写自定义属性,方便在xml中设置圆角,颜色等属性,按下的效果一般是用shape写背景方式完成,为了方便,shape不在xml编写,改为代码编写。 1.编写自定义控件: public class ShapeButton extends AppCompatButton { public…
什么是贝塞尔曲线 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。主要结构:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。 展示:一阶贝塞尔曲线(线段)…