如何用seekbar?获得从0.0到2.0的值?值应该以0.5(0.0,0.5,1.0,1.5,2.0)的步长可以有人帮助我吗?
Foa*_*Guy 19
SeekBar扩展了ProgressBar.
ProgressBar有一个方法
public void setMax(int max)
Run Code Online (Sandbox Code Playgroud)
因为它只接受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
}
});
Run Code Online (Sandbox Code Playgroud)
这部分将在你的onCreate()中,你必须使用findViewById()或其他东西来获取对mSeekBar的引用.
public float getConvertedValue(int intVal){
float floatVal = 0.0;
floatVal = .5f * intVal;
return floatVal;
}
Run Code Online (Sandbox Code Playgroud)
这部分是另一种可以添加到Activity的方法,它将在您需要的范围内从int转换为float值.
| 归档时间: |
|
| 查看次数: |
12844 次 |
| 最近记录: |