【问题标题】:How to change the status bar color when scrolling滚动时如何更改状态栏颜色
【发布时间】:2020-12-03 00:29:39
【问题描述】:

我正在使用chucknorris api制作一个学习应用

我希望当屏幕向下滚动时,状态栏是透明的以匹配文本

Before sliding

After sliding

【问题讨论】:

  • 查看CoordinatorLayout、AppBarLayout 和CollapsingToolbarLayout。网上有很多教程。
  • 我没有找到

标签: java android xml kotlin


【解决方案1】:

第 1 步: 为滚动视图添加监听器

scrollView = (ScrollView) findViewById(R.id.scrollView);

    scrollView.getViewTreeObserver()
            .addOnScrollChangedListener(new 
            ViewTreeObserver.OnScrollChangedListener() {
                @Override
                public void onScrollChanged() {

                    if (!scrollView.canScrollVertically(1)) {
                        // bottom of scroll view, 
//you can change status bar color here

                    }
                    if (!scrollView.canScrollVertically(-1)) {
                        // top of scroll view


                    }
                }
            });

第 2 步: 使用以下代码更改滚动视图侦听器内的状态栏颜色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.BLUE);
}

【讨论】:

    猜你喜欢
    • 2019-10-06
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多