diff options
Diffstat (limited to 'app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt')
-rw-r--r-- | app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt b/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt new file mode 100644 index 00000000..1d8f308d --- /dev/null +++ b/app/src/main/kotlin/com/pitchedapps/frost/views/KPrefTextSeekbar.kt @@ -0,0 +1,47 @@ +package com.pitchedapps.frost.views + +import android.annotation.SuppressLint +import android.util.TypedValue +import ca.allanwang.kau.kpref.items.KPrefSeekbar +import com.pitchedapps.frost.R + +/** + * Created by Allan Wang on 2017-07-07. + */ +class KPrefTextSeekbar(builder: KPrefSeekbarContract) : KPrefSeekbar(builder) { + + var descOriginalSize = 1f + + init { + with(builder) { + min = 50 + max = 200 + descRes = R.string.web_text_scaling_desc + textViewConfigs = { + minEms = 2 + setOnLongClickListener { + pref = 100 + reloadSelf() + true + } + } + } + } + + @SuppressLint("MissingSuperCall") + override fun onPostBindView(viewHolder: ViewHolder, textColor: Int?, accentColor: Int?) { + descOriginalSize = viewHolder.desc?.textSize ?: 1f + viewHolder.desc?.layoutParams + builder.toText = { + viewHolder.desc?.setTextSize(TypedValue.COMPLEX_UNIT_PX, descOriginalSize * it.toFloat() / 100) + "$it%" + } + + super.onPostBindView(viewHolder, textColor, accentColor) + } + + override fun unbindView(holder: ViewHolder) { + holder.desc?.setTextSize(TypedValue.COMPLEX_UNIT_PX, descOriginalSize) + super.unbindView(holder) + } +}
\ No newline at end of file |