我正在尝试为RecyclerView的项目实现滑动。实现大多基于此。
背景:
当用户滑动视图时,它会移动到正确的位置,但不会消失。-好的
示例:在用户滑动的项目 2 下方。红色方块是视图背后的背景。

然后:当用户点击(不滑动)被滑动的项目时,会触发转义动画(默认)。- 好的
问题:视图没有完全回到默认位置。用户可以在屏幕右侧看到部分背景(如下所示)。它需要第二次点击才能将视图设置在正确的位置。- 不好

为了更好地展示行为,我创建了一个GIF。
代码关于ItemTouchHelper.SimpleCallback:
class SwipeCallback : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
override fun onMove(recyclerView: RecyclerView, viewHolder: ViewHolder, target: ViewHolder) =
false
override fun onChildDraw(
canvas: Canvas,
recyclerView: RecyclerView,
viewHolder: ViewHolder,
dX: Float,
dY: Float,
actionState: Int,
active: Boolean
) {
if (actionState == ItemTouchHelper.ACTION_STATE_SWIPE) {
// SWIPE LEFT
if (dX < 0) {
// …Run Code Online (Sandbox Code Playgroud) 正如我从 2.4.0 版的发布说明中了解到的,ExoplayerSeekBar被DefaultTimeBar.
https://github.com/google/ExoPlayer/blob/dev-v2/RELEASENOTES.md
正如我所见,在 2017 年 2 月 19 日:https: //github.com/bigexxx/ExoPlayer/blob/c5db6f39a6e07b4f98364ff40476e4e213172488/library/src/main/java/com/google/android/exoplayerControl2/uis :
(第 285 行):
progressBar = (SeekBar) findViewById(R.id.exo_progress);
现在:github.com/google/ExoPlayer/blob/release-v2/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java
这是:
(行:384):timeBar = (TimeBar) findViewById(R.id.exo_progress);
DefaultTimeBar 没有类似的方法.setThumb(),在我看来,拇指是Canvas在drawPlayhead(Canvas canvas).
问题:是否可以在 中设置自己的拇指图标DefaultTimeBar?