RecyclerView v22でDrag&Dropの画面外スクロール速度
RecyclerView v22になってItemTouchHelperが追加されたのでSwipeとかDrag&Dropとか楽になりましたね。んでアプリ改修しながらリスト関係全部RecyclerViewに変えてるんですがDrag&Dropした際に画面外にまでスクロールした速度が異様に遅い。遅いというか段階的にスピード上げてくれるんだけどデフォルトが遅すぎて場合によっては使いづらす。んでリファレンスみたらinterpolateOutOfBoundsScrollってのあるみたい。https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.Callback.htmlここでスクロールを設定できますよ。返すのは軸だと思うので上に上がるならマイナスで返さないといけんとこポイントです。下は一定速度で行った感じ。@Overridepublic int interpolateOutOfBoundsScroll(RecyclerView recyclerView, int viewSize, int viewSizeOutOfBounds, int totalSize, long msSinceStartScroll) {//return super.interpolateOutOfBoundsScroll(recyclerView, viewSize, viewSizeOutOfBounds, totalSize, msSinceStartScroll);if(viewSizeOutOfBounds>1){return 32;}else if(viewSizeOutOfBounds<-1){return -32;}return 0;}V22系のサポートで便利になったけど説明すくないのよね~とりいそぎメモっときます。例えばItemTouchHelperでスワイプさせるとデコレーションが残るとか。作り方ですかね?普通に罫線引いただけなんだけど。。みたいな。他にもわかりやすいとこだとCoordinatorLayout & behavior Android2.x系だとアニメーションせんよとか。AppBarLayout & RecyclerViewでアダプターに変更加えて動かすと再描画しないよとか。まぁこれらは研究資料的なものが強いのでしょうがないあと関係ないけどDialogFragmentでリストをRecyclerViewで作ってたらこいつってwrap_content効かないこと初めてしったわ。アイテム数でフィツトさせようとしたらアババって感じになったお(・ω・)では。