forked from suyu/suyu
android: Reduce opacity of non-editable settings
This commit is contained in:
parent
786b609151
commit
798a439eb1
7 changed files with 28 additions and 3 deletions
|
@ -49,6 +49,7 @@ class LicenseAdapter(private val activity: AppCompatActivity, var licenses: List
|
||||||
val context = YuzuApplication.appContext
|
val context = YuzuApplication.appContext
|
||||||
binding.textSettingName.text = context.getString(license.titleId)
|
binding.textSettingName.text = context.getString(license.titleId)
|
||||||
binding.textSettingDescription.text = context.getString(license.descriptionId)
|
binding.textSettingDescription.text = context.getString(license.descriptionId)
|
||||||
|
binding.textSettingValue.visibility = View.GONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,8 @@ class DateTimeViewHolder(val binding: ListItemSettingBinding, adapter: SettingsA
|
||||||
val zonedTime = ZonedDateTime.ofInstant(instant, ZoneId.of("UTC"))
|
val zonedTime = ZonedDateTime.ofInstant(instant, ZoneId.of("UTC"))
|
||||||
val dateFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
|
val dateFormatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
|
||||||
binding.textSettingValue.text = dateFormatter.format(zonedTime)
|
binding.textSettingValue.text = dateFormatter.format(zonedTime)
|
||||||
|
|
||||||
|
setStyle(setting.isEditable, binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(clicked: View) {
|
override fun onClick(clicked: View) {
|
||||||
|
|
|
@ -24,6 +24,8 @@ class RunnableViewHolder(val binding: ListItemSettingBinding, adapter: SettingsA
|
||||||
binding.textSettingDescription.visibility = View.GONE
|
binding.textSettingDescription.visibility = View.GONE
|
||||||
}
|
}
|
||||||
binding.textSettingValue.visibility = View.GONE
|
binding.textSettingValue.visibility = View.GONE
|
||||||
|
|
||||||
|
setStyle(setting.isEditable, binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(clicked: View) {
|
override fun onClick(clicked: View) {
|
||||||
|
|
|
@ -5,6 +5,8 @@ package org.yuzu.yuzu_emu.features.settings.ui.viewholder
|
||||||
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import org.yuzu.yuzu_emu.databinding.ListItemSettingBinding
|
||||||
|
import org.yuzu.yuzu_emu.databinding.ListItemSettingSwitchBinding
|
||||||
import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
|
import org.yuzu.yuzu_emu.features.settings.model.view.SettingsItem
|
||||||
import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter
|
import org.yuzu.yuzu_emu.features.settings.ui.SettingsAdapter
|
||||||
|
|
||||||
|
@ -33,4 +35,18 @@ abstract class SettingViewHolder(itemView: View, protected val adapter: Settings
|
||||||
abstract override fun onClick(clicked: View)
|
abstract override fun onClick(clicked: View)
|
||||||
|
|
||||||
abstract override fun onLongClick(clicked: View): Boolean
|
abstract override fun onLongClick(clicked: View): Boolean
|
||||||
|
|
||||||
|
fun setStyle(isEditable: Boolean, binding: ListItemSettingBinding) {
|
||||||
|
val opacity = if (isEditable) 1.0f else 0.5f
|
||||||
|
binding.textSettingName.alpha = opacity
|
||||||
|
binding.textSettingDescription.alpha = opacity
|
||||||
|
binding.textSettingValue.alpha = opacity
|
||||||
|
}
|
||||||
|
|
||||||
|
fun setStyle(isEditable: Boolean, binding: ListItemSettingSwitchBinding) {
|
||||||
|
binding.switchWidget.isEnabled = isEditable
|
||||||
|
val opacity = if (isEditable) 1.0f else 0.5f
|
||||||
|
binding.textSettingName.alpha = opacity
|
||||||
|
binding.textSettingDescription.alpha = opacity
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,17 +31,19 @@ class SingleChoiceViewHolder(val binding: ListItemSettingBinding, adapter: Setti
|
||||||
for (i in values.indices) {
|
for (i in values.indices) {
|
||||||
if (values[i] == item.selectedValue) {
|
if (values[i] == item.selectedValue) {
|
||||||
binding.textSettingValue.text = resMgr.getStringArray(item.choicesId)[i]
|
binding.textSettingValue.text = resMgr.getStringArray(item.choicesId)[i]
|
||||||
return
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (item is StringSingleChoiceSetting) {
|
} else if (item is StringSingleChoiceSetting) {
|
||||||
for (i in item.values!!.indices) {
|
for (i in item.values!!.indices) {
|
||||||
if (item.values[i] == item.selectedValue) {
|
if (item.values[i] == item.selectedValue) {
|
||||||
binding.textSettingValue.text = item.choices[i]
|
binding.textSettingValue.text = item.choices[i]
|
||||||
return
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setStyle(setting.isEditable, binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(clicked: View) {
|
override fun onClick(clicked: View) {
|
||||||
|
|
|
@ -29,6 +29,8 @@ class SliderViewHolder(val binding: ListItemSettingBinding, adapter: SettingsAda
|
||||||
setting.selectedValue,
|
setting.selectedValue,
|
||||||
setting.units
|
setting.units
|
||||||
)
|
)
|
||||||
|
|
||||||
|
setStyle(setting.isEditable, binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(clicked: View) {
|
override fun onClick(clicked: View) {
|
||||||
|
|
|
@ -30,7 +30,7 @@ class SwitchSettingViewHolder(val binding: ListItemSettingSwitchBinding, adapter
|
||||||
}
|
}
|
||||||
binding.switchWidget.isChecked = setting.isChecked
|
binding.switchWidget.isChecked = setting.isChecked
|
||||||
|
|
||||||
binding.switchWidget.isEnabled = setting.isEditable
|
setStyle(setting.isEditable, binding)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onClick(clicked: View) {
|
override fun onClick(clicked: View) {
|
||||||
|
|
Loading…
Reference in a new issue