我有一个绘图活动,它创建一个占据整个屏幕的自定义“画布”视图,允许用户在其上绘图。我需要将 Activity 锁定为纵向,因为绘图应用程序是画板的替代品,并且用户需要旋转“垫”来绘制,而垫子不会在它们上面翻转。这当然意味着选项菜单也被锁定到该方向,并且根据用户的不同,菜单可能会从顶部、底部或侧面弹出。我希望选项菜单始终位于相对于用户的底部...我正在考虑的一些选项,希望有任何建议或信息:
- 允许方向更改,因此菜单根据需要移动,然后使用 SensorManager 监听方向,并手动将画布视图旋转回“正确”方向(纵向)。这会很丑陋,因为画布的旋转可能会有延迟,并且由于 X/Y 被交换,它会引入一些潜在的复杂计算等。
- 限制方向更改,然后使用 SensorManager 监听方向,并手动将选项菜单旋转回底部。不知道这是否可能。
- 锁定方向,并创建一个自定义视图,该视图拦截菜单按钮并显示我需要管理的“假”选项菜单等。真的不想替换内置的操作系统功能,这可能是一场噩梦维护未来不同版本的操作系统等。
有人对如何处理这个有任何想法吗?如果#2 是可能的,我会很高兴,但找不到与此相关的任何内容。
谢谢,
保罗
编辑:
已经确认 #2 是不可能的,所以我想我的选择是 #1、#3,除非其他人有任何想法?