mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	| @@ -5,7 +5,7 @@ import android.util.AttributeSet | ||||
| import android.view.MotionEvent | ||||
| import eu.davidea.fastscroller.FastScroller | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.system.dpToPx | ||||
| import eu.kanade.tachiyomi.util.system.dpToPxEnd | ||||
|  | ||||
| class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : | ||||
|     FastScroller(context, attrs) { | ||||
| @@ -14,6 +14,8 @@ class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: Attr | ||||
|         setViewsToUse( | ||||
|             R.layout.material_fastscroll, R.id.fast_scroller_bubble, R.id.fast_scroller_handle | ||||
|         ) | ||||
|         autoHideEnabled = true | ||||
|         ignoreTouchesOutsideHandle = true | ||||
|     } | ||||
|  | ||||
|     override fun onTouchEvent(event: MotionEvent): Boolean { | ||||
| @@ -23,7 +25,9 @@ class MaterialFastScroll @JvmOverloads constructor(context: Context, attrs: Attr | ||||
|  | ||||
|     override fun setBubbleAndHandlePosition(y: Float) { | ||||
|         super.setBubbleAndHandlePosition(y) | ||||
|         bubble.y = handle.y - bubble.height / 2f + handle.height / 2f | ||||
|         bubble.translationX = (-45).dpToPx.toFloat() | ||||
|         if (bubbleEnabled) { | ||||
|             bubble.y = handle.y - bubble.height / 2f + handle.height / 2f | ||||
|             bubble.translationX = (-45f).dpToPxEnd | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -13,6 +13,7 @@ import android.graphics.Color | ||||
| import android.net.ConnectivityManager | ||||
| import android.net.Uri | ||||
| import android.os.PowerManager | ||||
| import android.view.View | ||||
| import android.widget.Toast | ||||
| import androidx.annotation.AttrRes | ||||
| import androidx.annotation.ColorInt | ||||
| @@ -136,6 +137,18 @@ val Int.pxToDp: Int | ||||
| val Int.dpToPx: Int | ||||
|     get() = (this * Resources.getSystem().displayMetrics.density).toInt() | ||||
|  | ||||
| /** | ||||
|  * Converts to px and takes into account LTR/RTL layout. | ||||
|  */ | ||||
| val Float.dpToPxEnd: Float | ||||
|     get() = ( | ||||
|         this * Resources.getSystem().displayMetrics.density * | ||||
|             if (Resources.getSystem().isLTR) 1 else -1 | ||||
|         ) | ||||
|  | ||||
| val Resources.isLTR | ||||
|     get() = configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR | ||||
|  | ||||
| /** | ||||
|  * Property to get the notification manager from the context. | ||||
|  */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user