• Stars
    star
    222
  • Rank 179,123 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated almost 6 years ago

Reviews

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

Repository Details

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

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

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

使用方式:

添加依赖:

implementation 'com.wuyr:randomdraglayout:1.2.0'

APIs:

Method Description
boolean reset() 重置状态 (重新初始化)
setChildRefreshPeriod(long period) 设置子View的重绘间隔时长 默认:0 (不重绘)
一般是内容会不断更新的View才需要设置此参数,
静态的View无需设置
setAlphaAnimationDuration(long duration) 设置透明渐变动画时长 默认: 200L
setFlingDuration(long duration) 设置位移动画时长 默认: 800L
setScrollAvailabilityRatio(float ratio) 设置惯性移动的利用率 范围: 0~1 默认: 0.8F
setOnDragListener(OnDragListener onDragListener) 监听拖动 参数: 绝对X, 绝对Y, 绝对旋转角度
setOnStateChangeListener(OnStateChangeListener listener) 监听状态变化 状态:
STATE_NORMAL (普通状态)
STATE_DRAGGING (正在拖拽中)
STATE_FLINGING (惯性移动中(有滑动速率))
STATE_FLEEING (手指松开后,动画移动中(无速率))
STATE_OUT_OF_SCREEN (已经移动到屏幕外面)
STATE_GONE (在屏幕内慢慢消失掉(透明渐变))
int getState() 获取当前状态 状态: 见上
int getTargetOrientation() 获取当前位移动画前进的方向 方向:
ORIENTATION_LEFT (向左移动)
ORIENTATION_RIGHT (向右移动)
ORIENTATION_TOP (向上移动)
ORIENTATION_BOTTOM (向下移动)
RectF getBounds() 获取映射后的Bitmap边界 (即:包括了旋转之后的宽高)

使用示例:

在目标View外面直接套一层RandomDragLayout: (可以作用到任意View上)

<com.wuyr.randomdraglayout.RandomDragLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#88F"
        android:padding="16dp"
        android:text="RandomDragLayoutTest" />
</com.wuyr.randomdraglayout.RandomDragLayout>

宽高可直接使用wrap_content,RandomDragLayout会根据里面的View调整自身大小。
OK,现在已经可以正常运行了,还可以在代码里面去设置一些属性或者监听各种状态。


Demo下载: app-debug.apk

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

效果图 (图1: QQ空间效果):

preview preview 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

SecondFloorBehavior

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

ArcSlidingHelper

Android弧形滑动辅助 (使用超简单)
Java
168
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