Android 展开和折叠动画

Android 展开和折叠动画,android,android-animation,Android,Android Animation,我正在尝试在RecyclerView中实现扩展和折叠动画,并尝试了此功能,但它有很多问题,我无法再使用它,也尝试了很多解决方案,但它无法按照客户的要求工作,例如使用此功能来缩放视图以折叠视图: view.animate().scaleY(1 / item.getHeight()).setDuration(300).withEndAction(new Runnable() { @Override public void run() { item.setVisibil

我正在尝试在
RecyclerView
中实现扩展和折叠动画,并尝试了此功能,但它有很多问题,我无法再使用它,也尝试了很多解决方案,但它无法按照客户的要求工作,例如使用此功能来缩放视图以折叠视图:

view.animate().scaleY(1 / item.getHeight()).setDuration(300).withEndAction(new Runnable() {
    @Override
    public void run() {
        item.setVisibility(View.GONE);
    }
});
我希望动画完全像这样:


有什么方法可以做到这一点吗?

您可以使用第三方库来实现一个很好的实现,但我使用这种方法来减少我的应用程序中的库数量

 int mExpandedPosition = -1;
 int OldOpen = -1;
 @Override
        public void onBindViewHolder(final Example.ViewHolder holder, final int position) {


//what ever your bind logic goes here

            holder.textViewKey.setText(allData.get(position).get("key"));

//expanding this view will collapse any other one open`

            final boolean isExpanded = position==mExpandedPosition;
            holder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                   OldOpen = mExpandedPosition;
                    if (isExpanded == true) {
                        mExpandedPosition = -1;
                    } else {
                        mExpandedPosition = position;
                    }
                    TransitionManager.beginDelayedTransition(CompanyDetailsRecycler);
                    if (OldOpen != -1)
                        notifyItemChanged(OldOpen);
                    notifyItemChanged(position);
                }
            });

你能把你的onBindViewHolder贴出来吗?你试过了吗?