没有合适的资源?快使用搜索试试~ 我知道了~
首页Android开发实现浏览器全屏显示功能
资源详情
资源评论
资源推荐
Android开发实现浏览器全屏显示功能开发实现浏览器全屏显示功能
主要介绍了Android开发实现浏览器全屏显示功能,涉及Android布局修改及相关属性动态设置操作技巧,需要的朋
友可以参考下
本文实例讲述了Android开发实现浏览器全屏显示功能。分享给大家供大家参考,具体如下:
业务需求:业务需求:浏览器设置中支持全屏显示的功能。
分析:分析:只需要在设置界面上增加是否全屏的checkBox , 然后 BrowserActivity 中读取这个值, 来设置窗口的 Style.
修改:修改:
1. 修改项目下的 res/xml 文件夹下的 browser_preferences.xml 文件, 添加
<CheckBoxPreference
android:key="full_screen"
android:defaultValue="false"
android:title="@string/pref_full_screen"
android:summary="@string/pref_full_screen_summary" />
2. BrowserActivity中创建 SetScreen() 方法
public void setScreen(){
//set to full screen if necessary
SharedPreferences sp = getSharedPreferences(this.getPackageName()+"_preferences",
Context.MODE_WORLD_READABLE);
Boolean isFullScreen = sp.getBoolean(BrowserSettings.PREF_FULL_SCREEN, false);
//if search dialog is open, we should quit full screen.
if(isFullScreen && !isSearchDialogOpen){
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
} else{
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
}
如果我们第一次进入浏览器是非全屏, 然后进入设置修改成全屏模式, 这时候返回到BrowserActivity , 全屏模式必须马上切
换过来。 所以我们在 OnResume() 里面调用 setScreen() , 不要在 onCreate() 里面调 .
3. 大家可能注意到了, 判断全屏切换时有个 isSearchDialogOpen 变量, 这是用来控制在搜索框出现时的全屏切换的。 因为
点击进地址栏时会调用系统的搜索框控件, 而这个控件不属于浏览器, 是个单独的窗口, 并且一开始创建时是有标题栏的。
这时候如果设置成无标题栏的风格时, 就会出现标题栏先出现, 然后又隐藏上去, 并且有 2-3 次反复的情况,用户体验非常
糟糕。 这里就做了个折中, 当搜索框出现时, 切换成非全屏模式, 这样标题栏就一直在那里,不会来回闪了。 退出搜索
时,如果设置的是全屏,再切换成全屏模式。 所以在搜索框出现和消失时的代码部分, 还要做相应修改。 见如下代码:
public void startSearch(String initialQuery, Boolean selectInitialQuery,Bundle appSearchData, Boolean globalSearch) {
if (appSearchData == null) {
appSearchData = createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_TYPE);
}
SearchEngine searchEngine = mSettings.getSearchEngine();
if (searchEngine != null && !searchEngine.supportsVoiceSearch()) {
//appSearchData.putBoolean(SearchManager.DISABLE_VOICE_SEARCH, true);
}
//show status bar when search window pops up. isSearchDialogOpen = true;
//show status bar when search window pops up. getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.startSearch(initialQuery, selectInitialQuery, appSearchData, globalSearch);
}
搜索框消失部分:
//switch to full screen if necessary when search window disappears.
public void onDismiss() {
isSearchDialogOpen = false;
setScreen();
}
(PS: BrowserActivity 必须继承 OnDismissListener 接口才有 onDismiss 方法。)
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android视图View技巧总
weixin_38679276
- 粉丝: 2
- 资源: 911
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0