我创建了一个简单的自定义DialogPreference,如下所示:
class PinPreference : DialogPreference {
constructor(context : Context) : this(context,null)
constructor(context : Context, attrs: AttributeSet?) : this(context, attrs, 0)
constructor(context : Context, attrs: AttributeSet?, defStyleRes: Int) : super(context, attrs, defStyleRes)
override fun getPositiveButtonText(): CharSequence {
return "OK"
}
override fun getNegativeButtonText(): CharSequence {
return "Cancel"
}
override fun getDialogLayoutResource(): Int {
return R.layout.pin_pref_dialog
}
}
工作正常,除了在PreferenceCategory
中呈现此自定义首选项后看起来不正确。它的标题比所有其他标准首选项都大得多,并且具有分隔符,就像当前的prefs样式未应用到它一样。
另一件事:偏好设置在setPreferencesFromResource(R.xml.prefs, rootKey)
内的import androidx.preference.PreferenceFragmentCompat
那有什么问题,我该如何设置自定义条目的样式?