GuideActivity.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.xunao.effectdemo.activity;
  2. import android.app.Activity;
  3. import android.os.Build;
  4. import android.os.Bundle;
  5. import android.view.Gravity;
  6. import android.widget.Button;
  7. import android.widget.ImageView;
  8. import androidx.annotation.Nullable;
  9. import androidx.annotation.RequiresApi;
  10. import com.xunao.effectdemo.R;
  11. import com.xunao.effectdemo.view.MyGuideCaseQueue;
  12. import com.xunao.effectdemo.view.MyGuideCaseView;
  13. /**
  14. * author : 程中强
  15. * e-mail : 740479946@qq.com
  16. * date : 2022/8/19:49
  17. * desc :
  18. * version: 1.0
  19. */
  20. public class GuideActivity extends Activity {
  21. ImageView imageView,imvPlay,imvPause,imvReset;
  22. Button btn;
  23. private int mCenterX, mCenterY;
  24. @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
  25. @Override
  26. protected void onCreate(@Nullable Bundle savedInstanceState) {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.activity_guide);
  29. imageView = findViewById(R.id.imv);
  30. imvPlay = findViewById(R.id.imv_play);
  31. imvPause = findViewById(R.id.imv_pause);
  32. imvReset = findViewById(R.id.imv_reset);
  33. btn = findViewById(R.id.btn);
  34. // int measuredWidth = btn.getMeasuredWidth();
  35. // int measuredHeight = btn.getMeasuredHeight();
  36. // int maxRadius = Math.max(measuredWidth, measuredHeight);
  37. //
  38. // Animator circularReveal = ViewAnimationUtils.createCircularReveal
  39. // (btn, 400, 400, 0, 2000);
  40. // circularReveal.setInterpolator(new LinearOutSlowInInterpolator());//out到in
  41. // circularReveal.setDuration(1000);
  42. btn.setOnClickListener(v->{
  43. new MyGuideCaseView.Builder(GuideActivity.this)
  44. .focusOn(btn)
  45. .backgroundColor(getResources().getColor(R.color.xui_config_color_red))
  46. .disableFocusAnimation()
  47. .fitWindowsAuto()
  48. .build()
  49. .show();
  50. });
  51. showGuideView();
  52. }
  53. private void showGuideView() {
  54. final MyGuideCaseView guideStep1 = new MyGuideCaseView.Builder(GuideActivity.this)
  55. // .title("请注意,这是第一步")
  56. .focusOn(imvPlay)
  57. .picture(R.mipmap.icon_zhi)
  58. .pictureGravity(Gravity.BOTTOM)
  59. // .disableFocusAnimation()
  60. .fitWindowsAuto()
  61. .build();
  62. final MyGuideCaseView guideStep2 = new MyGuideCaseView.Builder(GuideActivity.this)
  63. // .title("请注意,这是第二步")
  64. .focusOn(imvPause)
  65. .picture(R.mipmap.icon_zhi)
  66. // .disableFocusAnimation()
  67. .fitWindowsAuto()
  68. .build();
  69. final MyGuideCaseView guideStep3 = new MyGuideCaseView.Builder(GuideActivity.this)
  70. // .title("请注意,这是第三步")
  71. .focusOn(imvReset)
  72. .picture(R.mipmap.icon_zhi)
  73. // .disableFocusAnimation()
  74. .fitWindowsAuto()
  75. .build();
  76. new MyGuideCaseQueue()
  77. .add(guideStep1)
  78. .add(guideStep2)
  79. .add(guideStep3)
  80. .show();
  81. }
  82. }