我想创建一个Android应用程序,该应用具有一个seekbar,该应用程序设置了从用户的位置设置距离Tinder的距离范围。我该怎么做呢?
这是我到目前为止尝试的,但是我不知道该从这里去哪里。这可能是完全错误的。
感谢您的任何帮助
public class MainActivity extends AppCompatActivity {
public static SeekBar seek_bar;
public static TextView text_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
seek_bar();
}
public void seek_bar( ) {
seek_bar = (SeekBar) findViewById(R.id.DistanceSeekBar);
text_view = (TextView) findViewById(R.id.DistanceTextView);
text_view.setText(seek_bar.getProgress() + " / " + seek_bar.getMax());
seek_bar.setOnSeekBarChangeListener(
new SeekBar.OnSeekBarChangeListener() {
int progress_value;
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
progress_value = progress;
text_view.setText(progress + " / " + seek_bar.getMax());
Toast.makeText(MainActivity.this, "SeekBar in progress", Toast.LENGTH_LONG).show();
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
Toast.makeText(MainActivity.this, "SeekBar in StartTracking", Toast.LENGTH_LONG).show();
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
text_view.setText("Covered : " + progress_value + " / " + seek_bar.getMax());
Toast.makeText(MainActivity.this, "SeekBar in StopTracking", Toast.LENGTH_LONG).show();
}
}
);
}
这是一个大问题,伴侣。我们不能为您编写整个过程,但我会提出一些想法。
简单地解释,您可以将一个距离范围与Seekbar的每个级别相关联。
onprogresschanged((可以帮助您。只需使用"进度"参数。
类似:
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
switch(progress){
case 0:
range = [some defined range];
break;
case 1:
range = [some defined range];
break;
...
}
}
然后,您只需与所使用的任何地理系统一起使用该"范围"变量。如果是GraphHopper库,您可以使用:
GeoPoint a = [some geopoint];
GeoPoint b = [some other geopoint];
if (a.distance(b) <= range) {
// do stuff
}
但是您也可以对Google的库做类似的操作。
让我知道这是否是您想要的。
(欢迎来到Stackoverflow,btw(