我有一个 FrameLayout
,其中包含一些覆盖 ListView
的 UI 元素。我想单击一个按钮并让 FrameLayout
向上滑动以显示下面的列表。
到目前为止,我可以让顶部布局向上滑动,但在侧面动画之后它会立即返回到原来的位置。
public void showHistory(View v) {
FrameLayout mainView = (FrameLayout)findViewById(R.id.mainView);
Animation slideUp = setLayoutAnim_slideup();
mainView.startAnimation(slideUp);
}
public Animation setLayoutAnim_slideup() {
AnimationSet set = new AnimationSet(true);
Animation animation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF,
0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
Animation.RELATIVE_TO_SELF, -0.8f);
animation.setDuration(400);
set.addAnimation(animation);
return animation;
}
我怎样才能让它停留在动画停止它的地方?
最佳答案
将 animation.setFillAfter(true)
添加到您的 setLayoutAnim_slideup()
。
功能。
编辑-
public void showHistory(View v) {
FrameLayout mainView = (FrameLayout) findViewById(R.id.mainView);
AnimatorSet set = new AnimatorSet();
// Using property animation
ObjectAnimator animation = ObjectAnimator.ofFloat(mainView,
"translationY", 0f, -0.8f);
animation.setDuration(2000);
set.play(animation);
set.start();
}
关于java - Android - 向上滑动 FrameLayout 并让它停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865363/