应用栏问题:当verticalOffset = 0

时间:2019-04-26 19:25:03

标签: android android-appbarlayout

针对这些情况,我尝试在工具栏中为两种视图制作两种不同的颜色

  • 1-展开折叠栏时。
  • 2-当折叠栏折叠时。

我尝试了此解决方案https://stackoverflow.com/a/32724422/5927252  很多次,但是后来我意识到,当垂直异地等于0时, 一遍又一遍地调用方法

对于用户来说,保持应用栏折叠(在垂直异地= 0)是强制性的,所以我认为这会消耗更多的内存和处理器

任何建议,请


app_bar_layout_home.addOnOffsetChangedListener(object : AppBarLayout.OnOffsetChangedListener {
            var isShow = true
            var scrollRange = -1

            override fun onOffsetChanged(appBarLayout: AppBarLayout, verticalOffset: Int) {
                Log.e("tag", "Vertical offset = $verticalOffset") // at this line it's called over and over agian


                if (scrollRange == -1) {
                    scrollRange = appBarLayout.totalScrollRange

                }
                if (scrollRange + verticalOffset == 0) {
                    collapsing_tb_layout_home.title = getString(R.string.browse_shops)


                    isShow = true

                } else if (isShow) {
                    collapsing_tb_layout_home.title = " " //be careful a space between double quote is a must
                    isShow = false
                }

            }
        })

0 个答案:

没有答案