首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变SeekBarPreference中的最大值

改变SeekBarPreference中的最大值
EN

Stack Overflow用户
提问于 2014-10-31 23:11:28
回答 1查看 661关注 0票数 0

我不能在标准SeekBarPreference中更改最大值。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceCategory android:title="@string/settings">
        <SeekBarPreference
            android:key="seekBarVolume"
            android:max="10"
            android:title="@string/seekbar_volume" />
    </PreferenceCategory>

</PreferenceScreen>

我希望seekbar的价值是:

代码语言:javascript
复制
int maxVolume = AudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

我试图更改PreferenceActivity中的值,但我不知道。我坚持住:

偏好seekBar = findPreference("seekBarVolume");

是否有一种不使用自定义seekBarPreference来更改最大值的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-31 23:23:09

无论出于什么原因,SeekBarPreference类都是隐藏的。源代码显示,存在一个可用的SeekBarPreference.setMax(int)方法,因此可以使用反射来达到这个目的,但是对于手头的任务来说,这似乎太过了。

我建议您使用预先设定的步骤数(如布局建议的10步),然后使用maxVolume * seekBarValue / seekBarStepCount计算请求的卷值,因为这似乎是一种更安全的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26684707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档