如何获得折叠工具栏布局的最大垂直偏移量

Amr*_*war 3 java android android-collapsingtoolbarlayout android-appbarlayout

我目前有一个带有CollapsingToolbarLayout的AppBarLayout,我添加了一个OffSetChangeListener,所以当动作栏展开时我可以旋转我的appbar中的下拉箭头,现在一切正常,除了我需要最大垂直偏移才能计算度数旋转,它不作为参数在监听器中提供.这是我的代码:

appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
    @Override
    public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
        int slideOffset = verticalOffset*(-1);
        int slideOffsetMax = 750;

        int angle = slideOffset * 180 / slideOffsetMax;
        dropdownArrow.setRotation(angle);

    }

});
Run Code Online (Sandbox Code Playgroud)

问题是最大垂直偏移量取决于设备,但如果有人有其他方式实现这一点,请随时向我展示.ps:我将最大偏移量设置为750,因为我记录了偏移量以找到我的设备的最大值,但在我的平板电脑上却有所不同.

And*_*sen 8

使用 :

int totalScrollRange = appBarLayout.getTotalScrollRange();
Run Code Online (Sandbox Code Playgroud)

获取AppBarLayout的滚动范围并进行计算.