自定义ImageButton,实现快进快退功能
转:月vs枫
自定义ImageButton,实现快进快退功能
具体做法是仿照系统的RockAudioPlayer,我也是通过查看源码,然后把它简化出来,更容易于应用。通过自定义一个RepeatingImageButton,当然这个名字可以自己更改,RepeatingImageButton里的代码可以查看RockAudioPlayer的源码,我这里只给出经过简化过的java代码。
- 1 public class MainActivity extends Activity {
- 2 /** Called when the activity is first created. edit by etgyd*/
- 3 private RepeatingImageButton last;
- 4 @Override
- 5 public void onCreate(Bundle savedInstanceState) {
- 6 super.onCreate(savedInstanceState);
- 7 setContentView(R.layout.main);
- 8 last = (RepeatingImageButton) findViewById(R.id.last);
- 9 last.setRepeatListener(rep, 260);
- 10 last.setOnClickListener(new OnClickListener() {
- 11
- 12 @Override
- 13 public void onClick(View v) {
- 14 // TODO Auto-generated method stub
- 15 System.out.println("last");
- 16 }
- 17 });
- 18 }
- 19
- 20 private RepeatingImageButton.RepeatListener rep = new RepeatingImageButton.RepeatListener() {
- 21
- 22 @Override
- 23 public void onRepeat(View v, long duration, int repeatcount) {
- 24 // TODO Auto-generated method stub
- 25 scanBackward(repeatcount, duration);
- 26 }
- 27 };
- 28
- 29 private void scanBackward(int repcnt, long delta) {
- 30 try {
- 31 if (delta < 5000) {
- 32 // seek at 10x speed for the first 5 seconds
- 33 delta = delta * 10;
- 34 System.out.println("long pause" + delta);
- 35 } else {
- 36 // seek at 40x after that
- 37 delta = 50000 + (delta - 5000) * 40;
- 38 System.out.println("long pause fast");
- 39 }
- 40 } catch (Exception ex) {
- 41 }
- 42 }
- 43 }
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论