一个可以拖拽滑动切换的卡片样式View
这是一个滑动切换卡片样式的View,可以用手指进行卡片的拖拽,当滑动距离小于一定的距离,卡片会自动回到卡片位置。
ps:录屏工具原因,会显得比较模糊
buildscript {
repositories {
jcenter()
}
}
dependencies {
compile 'com.rainmtime.androidtools:switchcardview:1.0.0'
}
在xml中:
<rainmtime.com.switchcardview.SwitchCardView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/switch_cardview"
android:layout_width="match_parent"
android:layout_height="100dp">
</rainmtime.com.switchcardview.SwitchCardView>
给这个SwitchCardView设置SwitchCardView.adapter
//跟ListView的Adapter 使用方法同样效果
mSwitchCardView.setAdapter(new SwitchCardView.Adapter() {
@NonNull
@Override
public View createTopCardView(@NonNull ViewGroup parent) {
return null;
}
@NonNull
@Override
public View createBottomCardView(@NonNull ViewGroup parent) {
return null;
}
@Override
public int getItemCount() {
return 0;
}
@Override
public void renderView(int position, View view) {
}
});
PS:具体实现,可以参考本项目的Demo即可。
其实这个SwitchCardView,会有2个子View(一上一下),就是Adapter中createTopCardView()和createBottomCardView()返回的view,要2个view的目的,是数据预加载(2个),这样做动画的时候,衔接的比较好。
手指滑动的过程中,其实只是一张假的bitmap。
这个项目有个app的module,里面有个简单的实例(就是第一张效果图的示例)