Android SeekBarPreference自定义视图

时间:2018-08-26 02:46:05

标签: android xml android-layout android-preferences preferences

我正在尝试将SeekBarPreference实现到我的首选项XML中。我曾尝试使用MrBIMC搜寻栏(https://github.com/MrBIMC/MaterialSeekBarPreference),该搜寻栏最有效,但由于它很旧,我不得不为某些问题提出难看的解决方案。

<SeekBarPreference
        android:defaultValue="5"
        android:dependency="a_different_preference"
        android:key="seekbar_key"
        android:max="40"
        android:summary="Select your value"
        android:title="Seekbar value"
        app:iconSpaceReserved="false"
        asp:min="1" />

上面的代码主要满足我的要求,除了我不知道如何添加测量值。

sample:msbp_measurementUnit="km"

以上是MrBIMC库中用于在值后设置单位的方法,但本机无法实现类似的目的。

最后,在我的preferences.xml中,出现错误“此处不允许使用元素SeekBarPreference” 。这阻止了IDE向我显示任何建议,以获取所要获得的一切。

编辑: 自问了这个问题之后,我了解到本机的seekbarpreference似乎不具备在其值后添加度量单位的能力...因此,我该如何精确地创建外观和行为相同但具有以下特征的自定义视图:输入测量单位的能力?

1 个答案:

答案 0 :(得分:0)

我发现的这个堆栈溢出问题已使用SeekBarPreference作为如何创建自定义首选项的示例:Creating Custom Preference

除此之外,您还可以在XML文件中将一个微调器添加到seekbar_preference.xml。

或者,一个更简单的解决方案(但并非您真正想要的)是在您的preferences.xml文件中添加一个单独 ListPreference,然后从此处输入首选的度量单位。