自定义ImageButton,实现快进快退功能

发布于 2022-10-15 10:18:32 字数 3759 浏览 61 评论 0

转:月vs枫  

自定义ImageButton,实现快进快退功能

       具体做法是仿照系统的RockAudioPlayer,我也是通过查看源码,然后把它简化出来,更容易于应用。通过自定义一个RepeatingImageButton,当然这个名字可以自己更改,RepeatingImageButton里的代码可以查看RockAudioPlayer的源码,我这里只给出经过简化过的java代码。

  1. 1 public class MainActivity extends Activity {
  2. 2     /** Called when the activity is first created. edit by etgyd*/
  3. 3     private RepeatingImageButton last;
  4. 4     @Override
  5. 5     public void onCreate(Bundle savedInstanceState) {
  6. 6         super.onCreate(savedInstanceState);
  7. 7         setContentView(R.layout.main);
  8. 8         last = (RepeatingImageButton) findViewById(R.id.last);
  9. 9         last.setRepeatListener(rep, 260);
  10. 10         last.setOnClickListener(new OnClickListener() {
  11. 11
  12. 12             @Override
  13. 13             public void onClick(View v) {
  14. 14                 // TODO Auto-generated method stub
  15. 15                  System.out.println("last");
  16. 16             }
  17. 17         });
  18. 18     }
  19. 19
  20. 20     private RepeatingImageButton.RepeatListener rep = new RepeatingImageButton.RepeatListener() {
  21. 21
  22. 22         @Override
  23. 23         public void onRepeat(View v, long duration, int repeatcount) {
  24. 24             // TODO Auto-generated method stub
  25. 25             scanBackward(repeatcount, duration);
  26. 26         }
  27. 27     };
  28. 28
  29. 29     private void scanBackward(int repcnt, long delta) {
  30. 30         try {
  31. 31             if (delta < 5000) {
  32. 32                 // seek at 10x speed for the first 5 seconds
  33. 33                 delta = delta * 10;
  34. 34                 System.out.println("long pause" + delta);
  35. 35             } else {
  36. 36                 // seek at 40x after that
  37. 37                 delta = 50000 + (delta - 5000) * 40;
  38. 38                 System.out.println("long pause fast");
  39. 39             }
  40. 40         } catch (Exception ex) {
  41. 41         }
  42. 42     }
  43. 43 }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文