ショック!Android浮遊効果を3ステップで実現?
1726 ワード
前にプロジェクトをしたときに実現した懸濁効果は、図のように(はっきりしていないかもしれません)
meibei.gif
次に、図に示すように効果を実現します.
sticky.gif
原理はとても簡単で、RecyclerView addHeaderViewの方式で実現して、ステップを実現します:
1.依存
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体験アドレス