找不到 Androidx SeekBarPreference xml 属性 setMax

gli*_*isu 3 xml android android-preferences kotlin

我正在尝试实现 androidx SeekBarPreference,根据文档我可能能够setMax在我的 xml 中使用属性,但是这样做时我收到以下错误:

在xml中:

<SeekBarPreference
    app:key="preference_key"
    app:title="@string/preference"
    app:showSeekBarValue="true"
    app:setMax="10"/>
Run Code Online (Sandbox Code Playgroud)

错误:

root_preferences.xml:53: AAPT: error: attribute setMax (aka 
gls.dev.MyApplication:setMax) not found.
Run Code Online (Sandbox Code Playgroud)

但是,在代码中设置属性时,它就像一个魅力:

findPreference<SeekBarPreference>("preference_key")?.apply {
    max = 10
    min = 1
    seekBarIncrement = 1
    isAdjustable = true
}
Run Code Online (Sandbox Code Playgroud)

小智 6

max属性目前仅存在于 android: 命名空间中,因此您需要使用:

<SeekBarPreference
    app:key="preference_key"
    app:title="@string/preference"
    app:showSeekBarValue="true"
    android:max="10"/>
Run Code Online (Sandbox Code Playgroud)

  • 应用程序命名空间中不存在 max 属性是否有原因?我认为它应该如此,因为从字面上看,“SeekBarPreference”的所有其他属性也都存在。 (3认同)