android - 为什么翻译动画不起作用?

标签 android animation

我有一个 Activity ,它的 contentView 布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/schedule_item_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
    android:id="@+id/item_list"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />

<LinearLayout
    android:id="@+id/bottom_menu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:visibility="gone" >
<!-- some buttons  -->
</LinearLayout>

</LinearLayout>

我想显示和隐藏底部的线性布局,以便让它像底部菜单一样,我创建了一个这样的函数:

 private void showBottomMenuView()
{
    if (mBottomMenuView.getVisibility() != View.VISIBLE) {
        Animation slideinAnimation = new TranslateAnimation(0.0f, 0.0f, 1.0f, 0.0f);
        slideinAnimation.setDuration(300);
        mBottomMenuView.startAnimation(slideinAnimation);
        mBottomMenuView.setVisibility(View.VISIBLE);
    }
}

但是当我想显示底部布局(mBottomMenuView)时它不起作用。 View 不会从底部顺利滑入,它只是突然出现

但是当我从 xml 加载动画时,它确实起作用了。

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromYDelta="100%"
    android:toYDelta="0%"
    android:duration="300"/>
</set>


private void showBottomMenuView()
{
    if (mBottomMenuView.getVisibility() != View.VISIBLE) {
        Animation slideinAnimation =  AnimationUtils.loadAnimation(getActivity(), R.anim.slide_in);
        mBottomMenuView.startAnimation(slideinAnimation);
        mBottomMenuView.setVisibility(View.VISIBLE);
    }
}

为什么之前的新动画没有效果?

最佳答案

你想测量你的屏幕高度然后使用

Animation slideinAnimation = new TranslateAnimation(0.0f, 0.0f, mesureHeight, 0.0f);

Animation slideinAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT,0.0f,
    Animation.RELATIVE_TO_PARENT, 0.0f,
    Animation.RELATIVE_TO_PARENT, 1.0f,
    Animation.RELATIVE_TO_PARENT, 0.0f);

关于android - 为什么翻译动画不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26291630/

相关文章:

java - 从 Android 中的 HttpResponse 获取 header

android - 通过应用程序登录我的大学生门户网站

android - 卸载错误后无法安装应用程序

java - 在对话框中使用 TabHost 出现 NullPointerException?怎样做才正确呢?

java - 运行克隆的 git 存储库

javascript - 动画结束后的 TweenMax

javascript - 显示/隐藏具有多个 Div ID 的功能

javascript - 如何使用 jQuery 交叉淡入淡出图像

javascript - 滚动文本时在背景中显示图像

animation - 如何放置覆盖 NSImageView 并将其保留在 WebView 的顶部?