Skills

Gsy Fullscreen Orientation

处理进入/退出全屏、屏幕旋转、竖屏视频自适应、系统旋转设置联动、反向横屏。

Install

npx skills add CarGuo/GSYVideoPlayer --skill gsy-fullscreen-orientation -g -a claude-code -y
Repository
CarGuo/GSYVideoPlayer21.5k
Category
Engineering
Updated
26d ago
License
Apache-2.0
Context cost
Lightabout 1,020 tokens
Runs scripts
No, instructions only

What it does

处理进入/退出全屏、屏幕旋转、竖屏视频自适应、系统旋转设置联动、反向横屏。

gsy-fullscreen-orientation

概念

  • 视觉全屏:player.startWindowFullscreen(context, hideActionBar, hideStatusBar),会用反射克隆一个同类 player 塞进 android.R.id.content 顶部,返回原实例。
  • 屏幕方向:OrientationUtils 监听 OrientationEventListener + Settings.System.ACCELEROMETER_ROTATION,负责旋转 Activity 方向。
  • 两者可解耦:只想旋转不切副本 → setNeedOrientationUtils(false) + 自建 OrientationUtils;只想切副本不旋转 → 不构造 OrientationUtils,player 保持默认 setRotateViewAuto(false)。

核心 API

类 / 方法位置说明
OrientationUtils(Activity, GSYBaseVideoPlayer)OrientationUtils#L50-L52主构造
OrientationUtils(Activity, player, OrientationOption)OrientationUtils#L54-L64支持自定义旋转角度阈值
setEnable(boolean)OrientationUtils使能/失能自动旋转
setRotateWithSystem(boolean)OrientationUtils是否跟随系统"旋转开关"
setIsOnlyRotateLand(boolean)OrientationUtilstrue 时仅在横屏方向变化时响应
resolveByClick()OrientationUtils用户点全屏按钮时手动触发一次旋转
backToProtVideo()OrientationUtils返回键触发时把方向复位竖屏
setIsPause(boolean)OrientationUtils生命周期 pause/resume 桥接
releaseListener()OrientationUtilsonDestroy 释放监听
startWindowFullscreen(Context, boolean, boolean)GSYBaseVideoPlayer进入 window 全屏,返回克隆体
GSYVideoManager.backFromWindowFull(Context)GSYVideoManager#L82-L94返回键统一处理
GSYVideoManager.isFullState(Activity)GSYVideoManager#L143-L151当前是否全屏

OrientationOption 参数

Read the whole SKILL.md on GitHub

More in Engineering