欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

camera module controll bar 隐藏显示控制

发布时间:2023/12/20 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 camera module controll bar 隐藏显示控制 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.   config.xml

  配置 各种  timeout 时间

 

<integer name="multitoggleitems_timeout">3000</integer><integer name="controll_timeout">3000</integer>

2.  XXXModule

public class XXXModuleimplements CameraModule, PhotoController,CaptureController,xxx{private static final int LAYOUT_HIDE = 100 ;private static final int DISAPPEAR_TIME = 3000 ;public void onResumeAfterSuper() {mActivity.onModuleSelected(ModuleSwitcher.CAPTURE_MODULE_INDEX);}Handler {switch (msg.what) { hideviews();}}public void hideLayout(){mHandler.removeMessages(HIDE_LAYOUT);mHandler.sendEmptyMessage(HIDE_LAYOUT);}public void hideLayout(boolean isTouch){if (isTouch) {mHandler.removeMessages(HIDE_LAYOUT);} else {mHandler.sendEmptyMessageDelayed(HIDE_LAYOUT, DISAPPEAR_TIME);}}public CaptureUI getUI(){return mUI;}}

3. CameraActivity

CameraActivity {private long time= 1000 * 60 * 2;private ModuleSwitcherManager mModuleSwitcherManager;oncreate(){//module controllmModuleSwitcherManager = new ModuleSwitcherManager();mModuleSwitcherManager.create(this ,mCameraRootFrame);mModuleSwitcherManager.setOnModuleChangeListener(this);mCurrentModule = mModuleSwitcherManager.getCurrentCameraModule();}@Overridepublic void onModuleSelected(int moduleIndex) {checkIfNeedRestartCountDown(null);}//auto finishprivate Runnable finishActivityRunnable = new Runnable() {@Overridepublic void run() {finish();}};@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {.....checkIfNeedRestartCountDown(ev);return result;}public void checkIfNeedRestartCountDown(MotionEvent ev){boolean isRecording = false;mMainHandler.removeCallbacks(mFinishActivityRunnable);if (ev == null || ev.getActionMasked() == MotionEvent.ACTION_DOWN) {if (mModuleSwitcherManager.getCurrentCameraModule() instanceof PhotoModule) {((PhotoModule) mModuleSwitcherManager.getCurrentCameraModule()).hideLayout(true);}if (mModuleSwitcherManager.getCurrentCameraModule() instanceof CaptureModule) {((CaptureModule) mModuleSwitcherManager.getCurrentCameraModule()).hideLayout(true);}}if (ev == null || ev.getAction() == MotionEvent.ACTION_UP) {if (mModuleSwitcherManager.getCurrentCameraModule() instanceof PhotoModule) {((PhotoModule) mModuleSwitcherManager.getCurrentCameraModule()).hideLayout(false);((PhotoModule) mModuleSwitcherManager.getCurrentCameraModule()).getPhotoUI().setTouchEvent(true);}if (mModuleSwitcherManager.isVideoModule(mModuleSwitcherManager.getCurrentModuleIndex())) {isRecording = true;}if(!isRecording)mMainHandler.postDelayed(finishActivityRunnable, time);if (mModuleSwitcherManager.getCurrentCameraModule() instanceof CaptureModule) {((CaptureModule) mModuleSwitcherManager.getCurrentCameraModule()).hideLayout(false);((CaptureModule) mModuleSwitcherManager.getCurrentCameraModule()).getUI().setTouchEvent(true);}}}

 

总结

以上是生活随笔为你收集整理的camera module controll bar 隐藏显示控制的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。