在 viewpager 中访问相机硬件的两个片段
Posted
技术标签:
【中文标题】在 viewpager 中访问相机硬件的两个片段【英文标题】:Two fragments accessing the camera hardware in a viewpager 【发布时间】:2019-01-30 13:43:14 【问题描述】:我有一个包含三个片段的 ViewPager。对于最后两个片段,我需要访问相机。
现在我无法为最后两个片段创建两个不同的片段,因为两个片段无法同时访问相同的相机硬件。
所以我只希望当我从片段 2 转到 3 时,标签布局的滑块像往常一样移动,但片段应该是相同的。
我应该寻求什么可能的解决方案?有没有办法可以使用视图寻呼机和选项卡布局来实现这一点,或者我必须使用动画创建自己的滑块?
【问题讨论】:
不,你不应该给出片段重用的错觉。从不同的地方访问相同的功能似乎是一个糟糕的用户体验。但是,如果您仍然想从两个不同的片段访问相机,则在一个片段中暂停相机并在另一个片段中恢复。setUserVisibilityHint(boolean isVisible)
是关键。
【参考方案1】:
您必须在片段 2 中释放相机并在切换到片段 3 时重新连接。
【讨论】:
【参考方案2】:所以我实现这一点的方法是使用视图寻呼机转换器。当我从片段 2 移动到片段 3 时,我将片段平移到相反的方向。因此,下面的选项卡发生了变化,但片段保持不变。
虽然我在从片段 2 移动到片段 3 时将相机会话从视频更改为图片,反之亦然
【讨论】:
以上是关于在 viewpager 中访问相机硬件的两个片段的主要内容,如果未能解决你的问题,请参考以下文章
onActivityResult 不会从 viewPager 片段调用