├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── cn │ │ └── yinxm │ │ └── media │ │ └── video │ │ ├── ScaleVideoActivity.java │ │ ├── controller │ │ ├── SimpleVideoController.java │ │ └── VideoPlayController.java │ │ ├── gesture │ │ ├── GestureLayer.java │ │ ├── IGestureLayer.java │ │ └── touch │ │ │ ├── RotateGestureDetector.java │ │ │ ├── adapter │ │ │ ├── GestureVideoTouchAdapterImpl.java │ │ │ └── IVideoTouchAdapter.java │ │ │ ├── anim │ │ │ ├── IVideoTouchEndAnim.java │ │ │ ├── ScaleRotateEndAnimator.java │ │ │ └── VideoTouchFixEndAnim.java │ │ │ ├── handler │ │ │ ├── IVideoRotateHandler.java │ │ │ ├── IVideoTouchHandler.java │ │ │ ├── VideoTouchRotateHandler.java │ │ │ └── VideoTouchScaleHandler.java │ │ │ ├── listener │ │ │ ├── IVideoGestureListener.java │ │ │ └── VideoScaleGestureListener.java │ │ │ └── ui │ │ │ └── TouchScaleResetView.java │ │ ├── surface │ │ └── SimpleTextureViewPlayer.java │ │ └── util │ │ └── VideoUrlTest.java │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ ├── ic_launcher_background.xml │ ├── small_new_pip_pause.png │ ├── small_new_pip_play.png │ └── touch_scale_rest_background.xml │ ├── layout │ ├── activity_scale_video.xml │ └── touch_scale_rest_view.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ ├── ic_launcher.png │ └── ic_launcher_round.png │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── doc ├── out.gif └── rotate_degrees.png ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/ScaleVideoActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/ScaleVideoActivity.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/controller/SimpleVideoController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/controller/SimpleVideoController.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/controller/VideoPlayController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/controller/VideoPlayController.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/GestureLayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/GestureLayer.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/IGestureLayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/IGestureLayer.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/RotateGestureDetector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/RotateGestureDetector.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/adapter/GestureVideoTouchAdapterImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/adapter/GestureVideoTouchAdapterImpl.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/adapter/IVideoTouchAdapter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/adapter/IVideoTouchAdapter.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/IVideoTouchEndAnim.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/IVideoTouchEndAnim.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/ScaleRotateEndAnimator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/ScaleRotateEndAnimator.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/VideoTouchFixEndAnim.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/anim/VideoTouchFixEndAnim.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/IVideoRotateHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/IVideoRotateHandler.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/IVideoTouchHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/IVideoTouchHandler.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/VideoTouchRotateHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/VideoTouchRotateHandler.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/VideoTouchScaleHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/handler/VideoTouchScaleHandler.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/listener/IVideoGestureListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/listener/IVideoGestureListener.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/listener/VideoScaleGestureListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/listener/VideoScaleGestureListener.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/gesture/touch/ui/TouchScaleResetView.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/gesture/touch/ui/TouchScaleResetView.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/surface/SimpleTextureViewPlayer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/surface/SimpleTextureViewPlayer.java -------------------------------------------------------------------------------- /app/src/main/java/cn/yinxm/media/video/util/VideoUrlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/java/cn/yinxm/media/video/util/VideoUrlTest.java -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/drawable-v24/ic_launcher_foreground.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/drawable/ic_launcher_background.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/small_new_pip_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/drawable/small_new_pip_pause.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/small_new_pip_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/drawable/small_new_pip_play.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/touch_scale_rest_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/drawable/touch_scale_rest_background.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_scale_video.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/layout/activity_scale_video.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/touch_scale_rest_view.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/layout/touch_scale_rest_view.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /doc/out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/doc/out.gif -------------------------------------------------------------------------------- /doc/rotate_degrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/doc/rotate_degrees.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yinxuming/VideoTouchScaleRotate/HEAD/gradlew.bat -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "VideoTouchScaleRotate" --------------------------------------------------------------------------------