camera module controll bar 隐藏显示控制
生活随笔
收集整理的這篇文章主要介紹了
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 隐藏显示控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CE 开启 DBVM
- 下一篇: 看了 72 位图灵奖得主成就,才发现我对