高手请进(高分重赏,不够另开贴加分)

傲慢的上校
博客专家认证
2011-09-05 06:26:21
在android自带的Browser里面,当网页加载完以后,titleBar会上移隐藏,想问下大家是如何实现的,如何能让他加载完成后不上移。(源代码看了n遍,但是没有找到,前来求救,谢谢大家,请大家不要推理,能给出代码实征)。
...全文
126 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲慢的上校 2011-09-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 flying_vip_521 的回复:]

还有TitleBar这个类
[/Quote]给你这个分数 是因为你热心的找了 呵呵 但是 并没有给出答案。
flying_vip_521 2011-09-06
  • 打赏
  • 举报
回复
还有TitleBar这个类
flying_vip_521 2011-09-05
  • 打赏
  • 举报
回复
BrowserActivity
------------------

还有下边的



@Override
public void onOptionsMenuClosed(Menu menu) {
mOptionsMenuOpen = false;
if (!mInLoad) {
hideFakeTitleBar();
} else if (!mIconView) {
// The page is currently loading, and we are in expanded mode, so
// we were not showing the menu. Show it once again. It will be
// removed when the page finishes.
showFakeTitleBar();
}
}

private void hideFakeTitleBar() {
if (mFakeTitleBar.getParent() == null) return;
WindowManager.LayoutParams params = (WindowManager.LayoutParams)
mFakeTitleBar.getLayoutParams();
WebView mainView = mTabControl.getCurrentWebView();
// Although we decided whether or not to animate based on the current
// scroll position, the scroll position may have changed since the
// fake title bar was displayed. Make sure it has the appropriate
// animation/lack thereof before removing.
params.windowAnimations = mainView != null && mainView.getScrollY() == 0
? 0 : R.style.TitleBar;
WindowManager manager
= (WindowManager) getSystemService(Context.WINDOW_SERVICE);
manager.updateViewLayout(mFakeTitleBar, params);
manager.removeView(mFakeTitleBar);
}

/**
* Special method for the fake title bar to call when displaying its context
* menu, since it is in its own Window, and its parent does not show a
* context menu.
*/
/* package */ void showTitleBarContextMenu() {
if (null == mTitleBar.getParent()) {
return;
}
openContextMenu(mTitleBar);
}

@Override
public void onContextMenuClosed(Menu menu) {
super.onContextMenuClosed(menu);
if (mInLoad) {
showFakeTitleBar();
}
}

flying_vip_521 2011-09-05
  • 打赏
  • 举报
回复
看看这里


private void showFakeTitleBar() {
if (mFakeTitleBar.getParent() == null && mActiveTabsPage == null
&& !mActivityInPause) {
WebView mainView = mTabControl.getCurrentWebView();
// if there is no current WebView, don't show the faked title bar;
if (mainView == null) {
return;
}

WindowManager manager
= (WindowManager) getSystemService(Context.WINDOW_SERVICE);

// Add the title bar to the window manager so it can receive touches
// while the menu is up
WindowManager.LayoutParams params
= new WindowManager.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
boolean atTop = mainView.getScrollY() == 0;
params.windowAnimations = atTop ? 0 : R.style.TitleBar;
manager.addView(mFakeTitleBar, params);
}
}

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧