Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 折叠工具栏布局设置滚动标志输入\u始终\u以编程方式忽略折叠_Java_Android_Android Collapsingtoolbarlayout - Fatal编程技术网

Java 折叠工具栏布局设置滚动标志输入\u始终\u以编程方式忽略折叠

Java 折叠工具栏布局设置滚动标志输入\u始终\u以编程方式忽略折叠,java,android,android-collapsingtoolbarlayout,Java,Android,Android Collapsingtoolbarlayout,我正在以编程方式设置collapingToolbarLayout滚动标志&第一次效果很好 -第一段: 在折叠工具栏中显示图像视图(标记:滚动、滚动、输入、输入、折叠)工作正常。然后用按钮转到第二个片段 -第二段: 移除imageView(高度=0dp)并更改折叠工具栏(标记:SCROLL\u FLAG\u SCROLL,SCROLL\u FLAG\u ENTER\u ALWAYS)工作正常。然后按下返回键返回到第一个片段 -第一段: “SCROLL\u flag\u ENTER\u ALWAYS

我正在以编程方式设置collapingToolbarLayout滚动标志&第一次效果很好

-第一段: 在折叠工具栏中显示图像视图(标记:滚动、滚动、输入、输入、折叠)工作正常。然后用按钮转到第二个片段

-第二段: 移除imageView(高度=0dp)并更改折叠工具栏(标记:SCROLL\u FLAG\u SCROLL,SCROLL\u FLAG\u ENTER\u ALWAYS)工作正常。然后按下返回键返回到第一个片段

-第一段: “SCROLL\u flag\u ENTER\u ALWAYS”标志不再起作用,如果向下滚动足够多,则折叠工具栏将始终滚动到底部

我正在onDestinationChanged(导航控制器)中进行更改

我尝试的是: -在XML中设置标志(滚动标志、滚动标志、输入标志、输入标志、折叠标志),只需更改imageView可见性状态Visible/Gone,同样的问题

一些代码:

public void onDestinationChanged(@NonNull NavController controller, @NonNull NavDestination destination, @Nullable Bundle arguments) {

appBarLayout.setExpanded(true);

        if (destination.getId() == R.id.firstFragment) {
                toolbarChanges();
                collapsingToolbarChanges();
        } else if (destination.getId() == R.id.secondFragment) {
                toolbarChangesReset();
                collapsingToolbarChangesReset();
        }
}

private void toolbarChanges() {
        ViewGroup.LayoutParams toolbarImgParams = imgToolbarBackground.getLayoutParams();
        final float scale = getResources().getDisplayMetrics().density;
        int height = (int) (120 * scale + 0.5f);
        toolbarImgParams.height = height;
        imgToolbarBackground.setLayoutParams(toolbarImgParams);
    }

private void toolbarChangesReset() {
        ViewGroup.LayoutParams toolbarImgParams = imgToolbarBackground.getLayoutParams();
        toolbarImgParams.height = 0;
        imgToolbarBackground.setLayoutParams(toolbarImgParams);
    }

private void collapsingToolbarChanges() {
        AppBarLayout.LayoutParams collapsingToolbarPrams = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams();
        collapsingToolbarPrams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL |
                AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS |
                AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED);
        collapsingToolbar.setLayoutParams(collapsingToolbarPrams);
    }

    private void collapsingToolbarChangesReset() {
        AppBarLayout.LayoutParams collapsingToolbarPrams = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams();
        collapsingToolbarPrams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL |
                AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS);
        collapsingToolbar.setLayoutParams(collapsingToolbarPrams);
    }