blob: 8f58e60e02ede334f9410bfced4cc540179cba95 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
package github.daneren2005.dsub.util;
import android.content.Context;
import android.content.res.Resources;
import android.view.View;
import android.widget.SeekBar;
import android.widget.TextView;
import com.shehabic.droppy.DroppyClickCallbackInterface;
import com.shehabic.droppy.DroppyMenuCustomItem;
/**
* Created by marcus on 2/14/2017.
*/
public class DroppySpeedControl extends DroppyMenuCustomItem {
private Context context;
private SeekBar seekBar;
private DroppyClickCallbackInterface updateBarCallback;
public DroppySpeedControl(int customResourceId) {
super(customResourceId);
}
@Override
public View render(Context context) {
return super.render(context);
}
public DroppySpeedControl setOnClicks(Context context, final DroppyClickCallbackInterface callback, int ... elementsByID){
render(context);
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.call(v, v.getId());
}
};
for (Integer element : elementsByID) {
renderedView.findViewById(element).setOnClickListener(listener);
}
return this;
}
public void updateSeekBar(float playbackSpeed){
TextView tv = (TextView)seekBar.getTag();
tv.setText(Float.toString(playbackSpeed));
seekBar.setProgress((int)(playbackSpeed*10)-5);
}
public DroppySpeedControl setOnSeekBarChangeListener(Context context, final DroppyClickCallbackInterface callback, int seekBarByID, int textViewByID, float playbackSpeed) {
updateBarCallback = callback;
render(context);
final TextView textBox = (TextView) renderedView.findViewById(textViewByID);
textBox.setText(Float.toString(playbackSpeed));
SeekBar seekBar = ((SeekBar) renderedView.findViewById(seekBarByID));
this.seekBar = seekBar;
seekBar.setTag(textBox);
seekBar.setProgress((int)(playbackSpeed*10)-5);
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
textBox.setText(new Float((progress + 5) / 10.0).toString());
seekBar.setProgress(progress);
callback.call(seekBar,seekBar.getId());
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
seekBar.setProgress((int)((playbackSpeed/10.0) - 5));
return this;
}
}
|