mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Fixes to dragging items via a handle on the right side of the screen
This commit is contained in:
parent
26ba712409
commit
e3311e8ed9
2 changed files with 11 additions and 5 deletions
|
@ -18,7 +18,7 @@ class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: Attr
|
|||
FastScroller(context, attrs) {
|
||||
|
||||
var canScroll = false
|
||||
var startY = 0f
|
||||
var startY = -1f
|
||||
var scrollOffset = 0
|
||||
init {
|
||||
setViewsToUse(
|
||||
|
@ -37,7 +37,12 @@ class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: Attr
|
|||
// Overriding to force a distance moved before scrolling
|
||||
override fun onTouchEvent(event: MotionEvent): Boolean {
|
||||
if (recyclerView.computeVerticalScrollRange() <= recyclerView.computeVerticalScrollExtent()) {
|
||||
return super.onTouchEvent(event)
|
||||
return if (startY > -1f) {
|
||||
dispatchTouchToRecycler(event)
|
||||
false
|
||||
} else {
|
||||
super.onTouchEvent(event)
|
||||
}
|
||||
}
|
||||
|
||||
when (event.action) {
|
||||
|
@ -80,7 +85,7 @@ class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: Attr
|
|||
return true
|
||||
}
|
||||
MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> {
|
||||
startY = 0f
|
||||
startY = -1f
|
||||
if (!canScroll) {
|
||||
dispatchTouchToRecycler(event)
|
||||
}
|
||||
|
|
|
@ -27,11 +27,12 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:scaleType="center"
|
||||
app:srcCompat="@drawable/ic_drag_handle_24dp"
|
||||
app:tint="?android:attr/textColorHint"
|
||||
app:tint="?attr/colorOnBackground"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue