Android Seekbar浮点值从0.0到2.0

如何使用搜索获取0.0到2.0的值?值应以0.5(0.0,0.5,1.0,1.5,2.0)为步长
有人能帮我吗?

解决方法

SeekBar扩展了ProgressBar.

ProgressBar有一个方法

public void setMax(int max)

因为它只接受int,所以你必须从int值进行一些转换才能获得你所追求的浮点数.

像这样的东西应该做的伎俩:

mSeekBar.setMax(4);
//max = 4 so the possible values are 0,1,2,3,4
seekbar.setonSeekBarchangelistener( new OnSeekBarchangelistener(){
    public void onProgressChanged(SeekBar seekBar,int progress,boolean fromUser)
    {
        // Todo Auto-generated method stub
        Toast.makeText(seekBar.getContext(),"Value: "+getConvertedValue(progress),Toast.LENGTH_SHORT).show();
    }
    public void onStartTrackingTouch(SeekBar seekBar)
    {
        // Todo Auto-generated method stub
    }
    public void onStopTrackingTouch(SeekBar seekBar)
    {
        // Todo Auto-generated method stub
    }
});

这部分将在你的onCreate()中,你必须使用findViewById()或其他东西来获取对mSeekBar的引用.

public float getConvertedValue(int intVal){
    float floatVal = 0.0;
    floatVal = .5f * intVal;
    return floatVal;
}

这部分是另一种可以添加到Activity的方法,它将在您需要的范围内从int转换为float值.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...