在Android中的ListView中动画显示项目

时间:2016-03-10 14:21:33

标签: android android-layout listview android-studio android-animation

enter image description here

我有一个带自定义适配器的列表视图。到目前为止,我已经在第一个"屏幕"上实现了功能。

现在,我想添加一个关于每个项目的详细信息选项卡,它会推动其下方的成员以获得空间。 如何设置下推动画,使其平滑过渡?

3 个答案:

答案 0 :(得分:3)

在自定义适配器中,在getView()方法中,可以为视图设置onClickListener,其中包含整行。然后,您可以选择实现动画,以便在用户单击时显示/隐藏其他视图。

向下滑动视图

view.animate().translationY(distance);

您可以稍后将View滑回原来的位置,如下所示:

view.animate().translationY(0);

您还可以轻松组合多个动画。以下动画将向下滑动视图的高度并同时淡入其中:

// Prepare the View for the animation
view.setVisibility(View.VISIBLE);
view.setAlpha(0.0f);

// Start the animation
view.animate()
    .translationY(view.getHeight())
    .alpha(1.0f);

然后,您可以将视图淡出并将其滑回原始位置。我们还设置了一个AnimatorListener,这样我们就可以在动画结束后将View的可见性设置回GONE:

view.animate()
    .translationY(0)
    .alpha(0.0f)
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setVisibility(View.GONE);
        }
    });

答案 1 :(得分:1)

我认为您应该使用 ExpandableListView 而不是 ListView

查看本教程:http://www.androidhive.info/2013/07/android-expandable-list-view-tutorial/

希望有所帮助!

答案 2 :(得分:0)

您的可绘制文件夹中的list_selector.xml文件

UnitEnum.Volt

列表视图

<强>机器人:listSelector =&#34; @可绘制/ list_selector_drawer&#34;

    <?xml version="1.0" encoding="utf-8"?>
    <selector
        android:id="@+id/myselector"
        xmlns:android="http://schemas.android.com/apk/res/android">
      <item
          android:state_activated="false"
          android:drawable="#C9C9C9" />

    </selector>

工作