Я новичок в языке kotlin и пытаюсь внедрить SeekBar
для изменения размера TextView
внутри моего действия по настройке и сохранить его значение с помощью общих настроек, а затем передать значения SeekBar в основное действие!
Я пробовал несколько ответов, но ни один из них, похоже, не работает для меня!
Настройка активности
@RequiresApi(Build.VERSION_CODES.O)
fun seekbarFontSize(){
var savedProgress1:Int = 0
val pref = PreferenceManager.getDefaultSharedPreferences(this)
val editor = pref.edit()
savedProgress1 = seekFontSize.progress
editor.putInt("seekFonts", savedProgress1)
editor.apply()
seekFontSize.min = 20
seekFontSize.max = 80
seekbarCounter.text = "20"
seekFontSize.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{
/**
* Notification that the progress level has changed. Clients can use the fromUser parameter
* to distinguish user-initiated changes from those that occurred programmatically.
*
* @param seekBar The SeekBar whose progress has changed
* @param progress The current progress level. This will be in the range min..max where min
* and max were set by [ProgressBar.setMin] and
* [ProgressBar.setMax], respectively. (The default values for
* min is 0 and max is 100.)
* @param fromUser True if the progress change was initiated by the user.
*/
override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
textFont.textSize = progress.toFloat()
textFont1.textSize = progress.toFloat()
seekbarCounter.text = "$progress"
}
/**
* Notification that the user has started a touch gesture. Clients may want to use this
* to disable advancing the seekbar.
* @param seekBar The SeekBar in which the touch gesture began
*/
override fun onStartTrackingTouch(seekBar: SeekBar?) {
Toast.makeText(this@SettingActivity, "start tracking",Toast.LENGTH_LONG).show()
}
/**
* Notification that the user has finished a touch gesture. Clients may want to use this
* to re-enable advancing the seekbar.
* @param seekBar The SeekBar in which the touch gesture began
*/
override fun onStopTrackingTouch(seekBar: SeekBar?) {
Toast.makeText(this@SettingActivity, "stop tracking",Toast.LENGTH_LONG).show()
}
})
MainAcitvity
fun seekbarSizing(){
val pref = PreferenceManager.getDefaultSharedPreferences(this).getInt("seek", 0)
if (pref == 0){
TitleEt.textSize = 20f
}
if (pref == 1){
TitleEt.textSize = 50f
}
}