• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android弧形滑动辅助 (使用超简单)

几行代码实现Android弧形滑动

博客详情:https://blog.csdn.net/u011387817/article/details/80313184

使用方式:

添加依赖:

implementation 'com.wuyr:arcslidinghelper:1.0.0'

APIs:

Method Description
create(View targetView, OnSlidingListener listener) 创建实例
targetView: 圆弧滑动事件以此View的中心点为圆心
OnSlidingListener: 旋转事件回调
enableInertialSliding(boolean enable) 设置是否开启惯性滑动
setSelfSliding(boolean isSelfSliding) 设置是否自身滑动 (即接受触摸事件的View和旋转的View是否同一个对象)
setScrollAvailabilityRatio(float ratio) 设置惯性滑动的利用率 (范围:0~1, 数值越大,旋转越激进)
setOnSlideFinishListener(OnSlideFinishListener listener) 设置滚动完毕监听器
handleMovement(MotionEvent event) 处理触摸事件
updateMovement(MotionEvent event) 更新当前手指触摸的坐标,在ViewGroup的onInterceptTouchEvent中使用
updatePivotX(int pivotX) 更新圆心x坐标
updatePivotY(int pivotY) 更新圆心y坐标
abortAnimation() 停止本次滚动
release() 释放资源

简单使用示例:

    private ArcSlidingHelper mArcSlidingHelper;
    private View mView;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act_main_view);

        mView = findViewById(R.id.view);
        mView.post(() -> {
            //创建对象
            mArcSlidingHelper = ArcSlidingHelper.create(mView,
                    angle -> mView.setRotation(mView.getRotation() + angle));
            //开启惯性滚动
            mArcSlidingHelper.enableInertialSliding(true);

        });
        getWindow().getDecorView().setOnTouchListener((v, event) -> {
            //处理滑动事件
            mArcSlidingHelper.handleMovement(event);
            return true;
        });

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //释放资源
        mArcSlidingHelper.release();
    }

Demo下载: app-debug.apk

库源码地址: https://github.com/Ifxcyr/ArcSlidingHelper

可定制性超强的圆弧滑动组件: https://github.com/Ifxcyr/FanLayout

效果:

preview preview

More Repositories

1

PathLayoutManager

RecyclerView的LayoutManager,轻松实现各种炫酷、特殊效果,再也不怕产品经理为难!
Java
2,036
star
2

GoogleLibraryVersionQuerier

一款Android Studio插件,帮助你快速添加依赖库和查询历史版本
Kotlin
1,196
star
3

LitePager

LitePager,一个轻量级的ViewPager,仿新版网易云歌单广场
Kotlin
623
star
4

intellij-media-player

【🐟摸鱼专用】上班偷偷看视频📺而不会被老板打🔨的IDE插件,适配JetBrains全家桶
Kotlin
582
star
5

RippleAnimation

仿酷安客户端的主题切换动画效果
Java
392
star
6

HookwormForAndroid

一个基于Magisk&Riru的Module,可以助你用超低成本开发各种Hook插件,无须Xposed
Kotlin
325
star
7

RandomDragLayout

任意拖布局 (扩展自QQ空间的列表Header效果)
Java
222
star
8

SecondFloorBehavior

通过自定义Behavior实现“二楼”效果,兼容所有下拉刷新控件
Kotlin
191
star
9

CatchPiggy

捉小猪是一款很有趣的Android休闲小游戏
Java
168
star
10

PathView

仿BiliBili客户端聊天弹幕室线条动画效果
Java
161
star
11

incremental-compiler

适用于Android项目的Gradle插件,用来增量编译class和生成增量dex。跟自带的增量编译Task(assemble)的区别是:这个插件只会编译源文件,不做其他多余的动作
Kotlin
128
star
12

FanLayout

可定制性超强的圆弧滑动组件
Java
127
star
13

ArrowDrawable

纯Paint实现的一个射箭效果,可用作Loading动画。
Kotlin
114
star
14

CoffeeDrawable

纯Paint实现的一个搅拌咖啡效果,可用作Loading动画。
Kotlin
93
star
15

HexagramDecoder

易经64卦编解码
Kotlin
84
star
16

HideImageMaker

制作隐藏图片(幻影坦克)
Java
84
star
17

ActivityMessenger

ActivityMessenger,借助Kotlin特性,简化Activity之间传参和回调的逻辑代码。
Kotlin
55
star
18

CanvasX

脱离Android模拟器,在Java程序中使用Android下的Canvas、Paint、Bitmap等Graphics类(提取自Android Studio)
Java
39
star
19

HookwormForWanAndroidTest

HookwormForAndroid实战示例
Kotlin
33
star
20

jdwp-injector-for-android

借助adb协议+jdwp协议在Android端实现基于debugger的代码注入工具
Kotlin
32
star
21

DMifier

适用于Android项目的IDEA插件,用来自动生成DexMaker代码,类似『ASM Bytecode Viewer』
Kotlin
28
star
22

CoffinLayout

仿燃兔APP的游戏详情界面
Java
23
star
23

agent-injector-for-android

基于JVMTI实现的Android端动态代码注入工具
C
10
star
24

PatternPasswordViewer

root权限查看手机九宫格密码
Java
7
star
25

wuyr.github.io

CSS
2
star