У меня есть, например, поисковый барабан: от 0 до 10. Как я могу сделать, если я хочу установить в качестве позиции по умолчанию ссылку на 5. Таким образом, в этом примере стрелка должна начинаться с середины.
Как отобразить определенное значение в строке поиска по умолчанию?
Ответ 1
Используйте этот
android:progress="5"
Подобно "прогрессу", он наследует некоторые из его атрибутов от ProgressBar. Вы найдете все атрибуты в http://developer.android.com/reference/android/widget/SeekBar.html
Ответ 2
Чтобы получить Seekbar со значением 5
В макете xml используйте максимальное значение 10
android:max="10"
В java для поиска для достижения прогресса 5
seekbar = (SeekBar) findViewById(R.id.seekBar1);
seekbar.setProgress(5);
thats it:)
Ответ 3
Я надеюсь, что этот код наверняка поможет вам. Попробуйте это...
float discrete=0;
float start=0;
float end=100;
float start_pos=0;
int start_position=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start=-10; //you need to give starting value of SeekBar
end=10; //you need to give end value of SeekBar
start_pos=5; //you need to give starting position value of SeekBar
start_position=(int) (((start_pos-start)/(end-start))*100);
discrete=start_pos;
SeekBar seek=(SeekBar) findViewById(R.id.seekBar1);
seek.setProgress(start_position);
seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "discrete = "+String.valueOf(discrete), Toast.LENGTH_SHORT).show();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {
// TODO Auto-generated method stub
// To convert it as discrete value
float temp=progress;
float dis=end-start;
discrete=(start+((temp/100)*dis));
}
});
}
Ответ 4
final Timer timer = new Timer();
seekBar_efficiency.setMax(40);
seekBar_efficiency.setProgress(35);
timer.schedule(new TimerTask() {
@Override
public void run() {
seekBar_efficiency.setProgress(20);
timer.cancel();
}
}, 200, 50);