没有合适的资源?快使用搜索试试~ 我知道了~
android ActionBar与Menu - 2 - email中ActionBar分析.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 175 浏览量
2022-07-04
20:03:31
上传
评论
收藏 242KB DOC 举报
温馨提示
试读
11页
android ActionBar与Menu - 2 - email中ActionBar分析
资源推荐
资源详情
资源评论
android ActionBar 与 Menu - 2 - email 中 ActionBar 分析
这里以 Email 为例,简单分析一下 ActionBar 在实际中的应用
上面是在模拟器上登录原生 Email 的截图
这里说一下所谓的原生:
原生不是指大家买来手机之后没有修改过任何内容,软件本身的样子。也不是指 google
的各种亲儿子本身的样子,因为无论是前者还是后者,最起码都是要经过优化和修复 bug
的,不是亲儿子那就很有可能进行了整容,让你看不出原来的样子
这里的原生是用 google 发布的源码编译出来的 apk,安装到手机或模拟器上面大家就可
以看到
我们主要看看 Email 如何使用 ActionBar 和 menu 的
页面可以发现,Email 既有 AcionBar 又有 menu,menu 被放在了底部,先看
ActionBar
Email 的主 Activity 是 EmailActivity,我就不画类图了,因为总是画不明白,怕误导大
家,所以就用类似堆栈 log 的形式来介绍
[java]view plain copy
1. @Override
2. protectedvoidonCreate(BundlesavedInstanceState){
3. ……
4. initUIController();
5. ……
6. }
7.
8. privatevoidinitUIController(){
9. mUIController=UiUtilities.useTwoPane(this)
10. ?newUIControllerTwoPane(this):newUIControllerOnePane(
this);
11. }
这里初始化了一个 UIController,其中的关系是这样的
UIControllerBase 为父类,是一个抽象类,下面有两个实现类分别为
UIControllerOnePane 和 UIControllerTwoPane(实在理解不了为什么这么命
名。。。)
UIControllerOnePane 为手机 UI 实现,UIControllerTwoPane 为平板 UI 实现,我们这
里只考虑 UIControllerOnePane
[java]view plain copy
1. publicUIControllerBase(EmailActivityactivity){
2. mActivity=activity;
3. mFragmentManager=activity.getFragmentManager();
4. mRefreshManager=RefreshManager.getInstance(mActivity);
5. mActionBarController=createActionBarController(activity);
6. if(DEBUG_FRAGMENTS){
7. FragmentManager.enableDebugLogging(true);
8. }
9. }
这里包含了一个 ActionBarController,createActionBarController 是抽象方法,下面是
UIControllerOnePane 的实现
[java]view plain copy
1. @Override
2. protectedActionBarControllercreateActionBarController(Activityactiv
ity){
3. //Fornow,wejustreusethesameactionbarcontrollerusedfor
2-pane.
4. //Wemaychangeitlater.
5. returnnewActionBarController(activity,activity.getLoaderManager
(),
6. activity.getActionBar(),newActionBarControllerCallback()
);
7. }
最关键的就是 ActionBarController 了,它包含 ActionBar 所有内容
[java]view plain copy
1. publicActionBarController(Contextcontext,LoaderManagerloaderManage
r,
2. ActionBaractionBar,Callbackcallback){
3. mContext=context;
4. mLoaderManager=loaderManager;
5. mActionBar=actionBar;
6. mCallback=callback;
7. mDelayedOperations=newDelayedOperations(Utility.getMainThreadHa
ndler());
8. mAllFoldersLabel=mContext.getResources().getString(
9. R.string.action_bar_mailbox_list_title);
10. mAccountsSelectorAdapter=newAccountSelectorAdapter(mContext);
11.
12. //Configureactionbar.
13. mActionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME|ActionB
ar.DISPLAY_SHOW_CUSTOM);
14.
15. //Preparethecustomview
16. mActionBar.setCustomView(R.layout.action_bar_custom_view);
17. mActionBarCustomView=(ViewGroup)mActionBar.getCustomView();
18.
19. //Accountspinner
20. mAccountSpinnerContainer=
21. UiUtilities.getView(mActionBarCustomView,R.id.account_spi
nner_container);
22. mAccountSpinner=UiUtilities.getView(mActionBarCustomView,R.id.a
ccount_spinner);
23. mAccountSpinnerDefaultBackground=mAccountSpinner.getBackground()
;
24.
25. mAccountSpinnerLine1View=UiUtilities.getView(mActionBarCustomVie
w,R.id.spinner_line_1);
26. mAccountSpinnerLine2View=UiUtilities.getView(mActionBarCustomVie
w,R.id.spinner_line_2);
27. mAccountSpinnerCountView=UiUtilities.getView(mActionBarCustomVie
w,R.id.spinner_count);
28.
29. //Accountdropdown
30. mAccountDropdown=newAccountDropdownPopup(mContext);
31. mAccountDropdown.setAdapter(mAccountsSelectorAdapter);
32.
33. mAccountSpinner.setOnClickListener(newView.OnClickListener(){
剩余10页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功