在我的应用中,有一个视图说googleBtn。如果我按下它,则动画发生,菜单视图转到upar侧。如果我再次按下该按钮,则菜单将打开。请参阅下面的图像。
菜单已打开:
菜单关闭后:
现在问题是动画正好隐藏菜单。但是在完成动画之后,我想将菜单布局固定到那个位置(就像第二张图像一样)但不会发生这种情况。
现在,如果菜单打开,我按下谷歌按钮,然后菜单关闭。但在完成动画后,它会进入正常位置。
我已尝试修复布局的滚动y位置,但仍未取得成功。
按钮点击的代码如下:
case R.id.googleBtn:
if(menu){
menuLayout.startAnimation(hideMenu);
menu = false;
}
else{
menuLayout.startAnimation(showMenu);
menu = true;
}
break;
菜单的布局如下:
<LinearLayout android:id="@+id/menuLayout"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:background="@drawable/slide">
<View android:layout_height="80dp" android:layout_width="80dp"
android:layout_marginBottom="25dp" android:id="@+id/googleBtn"
android:background="#00000000" android:layout_gravity="bottom"/>
</LinearLayout>
那么为什么我无法修复滚动值? ?
需要帮助。
更新
这是我的动画代码:
对于Menuhide:
<?xml version="1.0" encoding="utf-8"?>
<translate
android:fromYDelta="0"
android:toYDelta="-70%"
android:duration="1000"
android:fillEnabled="true"
android:fillAfter="true"
/>
对于MenuShow:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-70%"
android:toYDelta="0"
android:duration="1000"/>
</set>
答案 0 :(得分:1)
我认为您正在搜索此Android: Sliding Drawer
这里的Panel是一个容器,它包含你的视图,也支持动画,fling等。
找到其他小工具来源答案 1 :(得分:1)
您可能需要设置android:fillEnabled="true"
和/或android:fillAfter="true"
。
如果这不起作用,您可以将更改应用于AnimationListener#onAnimationEnd
中的布局。