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

标签 java android android-collapsingtoolbarlayout android-appbarlayout

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

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,因为我记录了偏移量以找到我的设备的最大值,但在我的平板电脑上它不同。

最佳答案

使用:

int totalScrollRange = appBarLayout.getTotalScrollRange();

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

关于java - 如何获得折叠工具栏布局的最大垂直偏移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38622984/

相关文章:

java - 如何在拨号盘上自动执行数字而不通过单击按钮向用户显示

android - 切换到 AndroidX 后扩展 TextInputLayout.Outlined 时出错

Android 工具栏 collapseMode 问题

android - 添加 ImageView 时滚动 Activity 滞后

android - 在 CollapsingToolbarLayout 后隐藏标题

java - 使用远程源从网络驱动器启动 JAR 文件

java - 解码文件附件名称不适用于属性

java - 检测客户端中止请求 Jersey

android - 在Android应用程序中添加静音按钮?

java - 在 Java 中执行类的构造函数