ショック!Android浮遊効果を3ステップで実現?

1726 ワード

前にプロジェクトをしたときに実現した懸濁効果は、図のように(はっきりしていないかもしれません)
meibei.gif
次に、図に示すように効果を実現します.
sticky.gif demo
原理はとても簡単で、RecyclerView addHeaderViewの方式で実現して、ステップを実現します:
1.依存compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.14' compile 'com.android.support:recyclerview-v7:25.1.0'を追加BaseRecyclerView AdapterHelperをインポートし、RecyclerViewにHeaderViewを追加します.2.レイアウト、ラベルincludeで、浮遊するviewを書き込む.メインインタフェース用フレームレイアウトFrameLayout ;次にheaderView をレイアウトする.ロジック、スライド時にRecyclerViewをスライドリスニングしてonScrollStateChanged(RecyclerView recyclerView,int newState)メソッドで懸濁ビューを Y 、コアコード:int[] location = new int[2]; mImageView.getLocationOnScreen(location); int y = location[1]; imageY = y; onScrolled(RecyclerView recyclerView,int dx,int dy)でheaderViewの中に懸濁ラベルが Y であることをリスニングし、懸濁ビューの表示または非表示を判断し、コアコード:if (mHeaderView == null) return; int getTop = mHeaderView.getDistanceY(); if (getTop <= imageY) { mImageView.setVisibility(View.VISIBLE); } else { mImageView.setY(0); mImageView.setVisibility(View.GONE); }github demo体験アドレス