Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/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
Android:自动完成用于折叠工具栏布局的动画_Android_Animation_Toolbar_Android Collapsingtoolbarlayout - Fatal编程技术网

Android:自动完成用于折叠工具栏布局的动画

Android:自动完成用于折叠工具栏布局的动画,android,animation,toolbar,android-collapsingtoolbarlayout,Android,Animation,Toolbar,Android Collapsingtoolbarlayout,我正在使用Android设计支持库中的折叠工具栏布局为活动中的工具栏设置动画。问题是,如果我在动画中间举起我的手指,工具栏就不会继续动画。它只在屏幕上显示一半。我怎样才能修好它 这是一张gif: 谢谢你的回答。据我所知,你所经历的行为是意料之中的。但是,有一种方法允许您以编程方式关闭/打开AppBarLayout,并可以选择设置流程动画。因此,您可以监听MotionEvent.ACTION\u UP事件,并根据AppBar从其原始位置移动的距离启动动画以打开或关闭它 编辑: 下面是我刚刚在运行K

我正在使用
Android设计支持库中的
折叠工具栏布局
为活动中的工具栏设置动画。问题是,如果我在动画中间举起我的手指,工具栏就不会继续动画。它只在屏幕上显示一半。我怎样才能修好它

这是一张gif:


谢谢你的回答。

据我所知,你所经历的行为是意料之中的。但是,有一种方法允许您以编程方式关闭/打开
AppBarLayout
,并可以选择设置流程动画。因此,您可以监听
MotionEvent.ACTION\u UP
事件,并根据
AppBar
从其原始位置移动的距离启动动画以打开或关闭它

编辑: 下面是我刚刚在运行KitKat的模拟器上测试的一个实现:

public class MainActivity extends AppCompatActivity {
    //...
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_UP) {
            if (appBarLayout.getY() != 0) {
                //User has just finished interacting with the screen
                //and the AppBar is not fully expanded. So, to close 
                //it with an animation...
                appBarLayout.setExpanded(false, true);
            }
        }
        return super.dispatchTouchEvent(ev);
    }
    //...
}

据我所知,你所经历的行为是意料之中的。但是,有一种方法允许您以编程方式关闭/打开
AppBarLayout
,并可以选择设置流程动画。因此,您可以监听
MotionEvent.ACTION\u UP
事件,并根据
AppBar
从其原始位置移动的距离启动动画以打开或关闭它

编辑: 下面是我刚刚在运行KitKat的模拟器上测试的一个实现:

public class MainActivity extends AppCompatActivity {
    //...
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_UP) {
            if (appBarLayout.getY() != 0) {
                //User has just finished interacting with the screen
                //and the AppBar is not fully expanded. So, to close 
                //it with an animation...
                appBarLayout.setExpanded(false, true);
            }
        }
        return super.dispatchTouchEvent(ev);
    }
    //...
}

这可能要晚一点,但正如本文所解释的:添加了一个新的快照功能。加上 app:layout_scrollFlags=“scroll | exituntilclopsed | snap”
到您的折叠工具栏布局。希望能有所帮助。

这可能要晚一点,但正如本文所解释的:添加了一个新的快照功能。加上 app:layout_scrollFlags=“scroll | exituntilclopsed | snap” 到您的折叠工具栏布局。希望能有帮助