Android 禁用淡入淡出边缘

发布于 2024-12-15 08:00:25 字数 966 浏览 4 评论 0原文

我想完全禁用我的活动/应用程序顶部的淡入淡出边缘。我的视图仅包含以编程方式创建的 WebView:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    webView = new WebView(this);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    webView.setVerticalFadingEdgeEnabled(false);
    webView.setFadingEdgeLength(0);

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(false);

    webView.loadUrl("...");
    setContentView(webView);
}

即使我已禁用淡入淡出边缘并将长度设置为 0,淡入淡出边缘在顶部(WebView 和 Android 状态栏之间)仍然可见。如果我在 WebView 顶部和 Android 状态栏之间添加了一些黑色空间,褪色边缘不再可见。

所以看起来淡入淡出的边缘是由活动本身添加的,而不是 WebView。有什么想法为什么会发生这种情况吗?是否有我错过的东西,或者有其他消除褪色边缘的方法?

类似: 如何摆脱Android 全屏模式下的顶部淡入淡出边缘?

I would like to completely disable the fading edge at the top of my activity/application. My view consists of only a WebView that is created programmatically:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    webView = new WebView(this);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    webView.setVerticalFadingEdgeEnabled(false);
    webView.setFadingEdgeLength(0);

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setSupportZoom(false);

    webView.loadUrl("...");
    setContentView(webView);
}

A fading edge is still visible at the top (between the WebView and the Android Status Bar), even though I've disabled the fading edge, and set the Length to 0. If I add some black space between the top of the WebView and the Android Status Bar, the fading edge is no longer visible.

So it seems like the fading edge is added by the activity itself, not the WebView. Any ideas why this is happening? Is there something I've missed, or some other way of removing the fading edge?

Similar: How to get rid of top fading edge in android full screen mode?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

闻呓 2024-12-22 08:00:25

这就是您想要做的,将主题设置为全屏然后关闭全屏标志有点倒退,但它有效:)

requestWindowFeature(Window.FEATURE_NO_TITLE);
setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);
getWindow().setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);

Here is what you want to do, it's a bit backwards to set the theme to fullscreen and then turn of the fullscreen flag, but it works :)

requestWindowFeature(Window.FEATURE_NO_TITLE);
setTheme(android.R.style.Theme_NoTitleBar_Fullscreen);
getWindow().setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文