AudioRecoderDialog.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.fxy.common;
  2. import android.content.Context;
  3. import android.graphics.drawable.Drawable;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.widget.ImageView;
  7. import android.widget.TextView;
  8. import com.fxy.R;
  9. import com.fxy.base.BasePopupWindow;
  10. import com.fxy.utils.ProgressTextUtils;
  11. /**
  12. * Created by MarioStudio on 2016/5/12.
  13. */
  14. public class AudioRecoderDialog extends BasePopupWindow {
  15. private ImageView imageView;
  16. private TextView textView;
  17. public AudioRecoderDialog(Context context) {
  18. super(context);
  19. View contentView = LayoutInflater.from(context).inflate(R.layout.audio_recoder_dialog, null);
  20. imageView = (ImageView) contentView.findViewById(android.R.id.progress);
  21. textView = (TextView) contentView.findViewById(android.R.id.text1);
  22. setContentView(contentView);
  23. }
  24. public void setLevel(int level) {
  25. Drawable drawable = imageView.getDrawable();
  26. drawable.setLevel(3000 + 6000 * level / 100);
  27. }
  28. public void setTime(long time) {
  29. textView.setText(ProgressTextUtils.getProgressText(time));
  30. }
  31. @Override
  32. public void dismiss() {
  33. // 通过接口对象传上传状态
  34. if (callbackListener!=null){
  35. callbackListener.closeResult();
  36. }
  37. }
  38. // 持有一个接口对象
  39. AudioRecoderDialog.CallbackListener callbackListener;
  40. // 状态变化监听
  41. public interface CallbackListener {
  42. // 回调方法 可以多个
  43. void closeResult();
  44. }
  45. // 提供注册事件监听的方法
  46. public void setOnCallbackListener(AudioRecoderDialog.CallbackListener callbackListener) {
  47. this.callbackListener = callbackListener;
  48. }
  49. }