MTK camera 4.2 app Camera类中的showXXX()状态变化与提示(2013/7)

前言

在Camera类中,有一些以show开头的方法,将其统称为showXXX()。 
showXXX()用于状态变换时候的图标隐藏,超时重现和提示信息。 
这里对这些方法的使用进行总结。

具体分析

通常的做法是提供一个Public showXXX()方法,根据需要决定是否有private doShowXXX()方法。(比如:延时,多个public方法最终由一个private方法处理) 所以命名方式是Public showXXX()(少数showXXX是private), Private doShowXXX().

private void doShowIndicator()

将该函数放在第一位是必要的。  
该函数设置的UI状态是正常的状态。其他的showXXX()在执行完成,需要界面恢复正常是,则直接或间接(showIndicator())执行该方法。 
隐藏mInfoManager和RemainingManager,显示IndicatorManager, VIEW_STATE_NORMAL (isNormalViewState())时显示PickerManager

showIndicator()

设置延时执行doShowIndicator()。

showInfo()

切换模式后,模式使用的引导。private doShowInfo()调用 InfoManager.showText(text)完成显示。 隐藏PickerManager和RemainingManager(可能是出于显示位置太接近容易重叠考虑),最后由InfoManager.showText()完成显示。 
最后调用ShowIndicator()。layout: onscreen_info.xml 
基本在XXXActor()中使用。

dismissInfo()

看名字感觉和showInfo对应,执行相反操作。 
showInfo()通过ShowIndicator()关闭自身;这个方法清楚掉队列中的延时,直接调用doShowIndicator()。

private void doShowRemaining()

显示拍照剩余张数,录像剩余时长。定义了两种显示方式,一直显示showAways()和根据需要时显示showIfNeed()。showRemainingAways()采用前者,showRemaining()采用后者。一旦显示则隐藏IndicatorManager和InfoManager,isNormalViewState()时显示PickerManager。 
最后调用ShowIndicator()。

showToast()

用于显示接收到的系统broadcast的信息,VideoActor出错情况提示,VoiceManager的onUserGuideUpdated()音控拍照打开时的引导 
最后由OnScreenHint.makeText()/setText()完成显示。layout:onscreen_hint.xml

对比showInfo()和showToast()


  1. showInfo会隐藏部分ViewManager(避免重叠显示),而showToast只是简单的提示。
  2. showInfo在屏幕上部显示,而showToast是在屏幕下部显示。

showBorder()


显示preview的边框,用于录像中拍照时的拍照效果提示。

showAlertDialog()

显示确认/取消对话框

showProgress()

拍照完成,录像完成后提示保存。
发布了27 篇原创文章 · 获赞 2 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/wlia/article/details/41788971