|
|
|
@ -17,7 +17,15 @@ import java.lang.reflect.InvocationTargetException |
|
|
|
|
import java.lang.reflect.Method |
|
|
|
|
|
|
|
|
|
@Suppress("SameParameterValue") |
|
|
|
|
class VerticalSeekBar : AppCompatSeekBar { |
|
|
|
|
class VerticalSeekBar @JvmOverloads constructor( |
|
|
|
|
context: Context, |
|
|
|
|
attrs: AttributeSet? = null, |
|
|
|
|
defStyle: Int = 0 |
|
|
|
|
) : AppCompatSeekBar( |
|
|
|
|
context, |
|
|
|
|
attrs, |
|
|
|
|
defStyle |
|
|
|
|
) { |
|
|
|
|
|
|
|
|
|
private var mIsDragging: Boolean = false |
|
|
|
|
private var mThumb: Drawable? = null |
|
|
|
@ -54,38 +62,12 @@ class VerticalSeekBar : AppCompatSeekBar { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
constructor(context: Context) : super(context) { |
|
|
|
|
initialize(context, null, 0, 0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { |
|
|
|
|
initialize(context, attrs, 0, 0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super( |
|
|
|
|
context, |
|
|
|
|
attrs, |
|
|
|
|
defStyle |
|
|
|
|
) { |
|
|
|
|
initialize(context, attrs, defStyle, 0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun initialize( |
|
|
|
|
context: Context, |
|
|
|
|
attrs: AttributeSet?, |
|
|
|
|
defStyleAttr: Int, |
|
|
|
|
defStyleRes: Int |
|
|
|
|
) { |
|
|
|
|
init { |
|
|
|
|
ATH.setTint(this, ThemeStore.accentColor(context)) |
|
|
|
|
ViewCompat.setLayoutDirection(this, ViewCompat.LAYOUT_DIRECTION_LTR) |
|
|
|
|
|
|
|
|
|
if (attrs != null) { |
|
|
|
|
val a = context.obtainStyledAttributes( |
|
|
|
|
attrs, |
|
|
|
|
R.styleable.VerticalSeekBar, |
|
|
|
|
defStyleAttr, |
|
|
|
|
defStyleRes |
|
|
|
|
) |
|
|
|
|
val a = context.obtainStyledAttributes(attrs, R.styleable.VerticalSeekBar, defStyle, 0) |
|
|
|
|
val rotationAngle = a.getInteger(R.styleable.VerticalSeekBar_seekBarRotation, 0) |
|
|
|
|
if (isValidRotationAngle(rotationAngle)) { |
|
|
|
|
mRotationAngle = rotationAngle |
|
|
|
|