From b6d0af1ec346b6d0d6f3b0f7fcbaeefc9fb27a1c Mon Sep 17 00:00:00 2001 From: Max Lv Date: Fri, 30 Sep 2016 19:28:03 +0800 Subject: [PATCH] Fix #910 --- .../preference/NumberPickerPreference.scala | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/scala/tk/mygod/preference/NumberPickerPreference.scala b/src/main/scala/tk/mygod/preference/NumberPickerPreference.scala index 05294277..4267e962 100644 --- a/src/main/scala/tk/mygod/preference/NumberPickerPreference.scala +++ b/src/main/scala/tk/mygod/preference/NumberPickerPreference.scala @@ -4,12 +4,37 @@ import android.content.Context import android.content.res.TypedArray import android.support.v7.preference.DialogPreference import android.util.AttributeSet +import android.view.View +import android.view.ViewGroup.LayoutParams import android.widget.NumberPicker +import android.widget.EditText import com.github.shadowsocks.R +class MyNumberPicker(private val context: Context, attrs: AttributeSet = null) + extends NumberPicker(context, attrs) { + override def addView(child: View) { + super.addView(child) + updateView(child) + } + override def addView(child: View, params: LayoutParams) { + super.addView(child, params) + updateView(child) + } + override def addView(child: View, index: Int, params: LayoutParams) { + super.addView(child, index, params) + updateView(child) + } + def updateView(child: View) { + if (child.isInstanceOf[EditText]) { + child.asInstanceOf[EditText].setTextSize(dp2px(6)) + } + } + def dp2px(dp: Float): Int = (dp*getResources().getDisplayMetrics().density).toInt +} + class NumberPickerPreference(private val context: Context, attrs: AttributeSet = null) extends DialogPreference(context, attrs) with SummaryPreference { - private[preference] val picker = new NumberPicker(context) + private[preference] val picker = new MyNumberPicker(context) private var value: Int = _ {