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

时间:2016-07-27 20:52:50

标签: 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);

    }

});

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

1 个答案:

答案 0 :(得分:7)

使用:

int totalScrollRange = appBarLayout.getTotalScrollRange();

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