MainActivity.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.edufound.bytedance.activity;
  2. import android.animation.ObjectAnimator;
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Color;
  6. import android.os.Build;
  7. import android.os.Bundle;
  8. import android.view.KeyEvent;
  9. import android.view.View;
  10. import android.view.animation.LinearInterpolator;
  11. import android.webkit.WebView;
  12. import android.widget.FrameLayout;
  13. import android.widget.ImageView;
  14. import androidx.annotation.Nullable;
  15. import com.edufound.bytedance.R;
  16. import com.edufound.bytedance.base.BaseActivity;
  17. import com.edufound.bytedance.mvp.model.MainModel;
  18. import com.edufound.bytedance.mvp.presenter.MainPersenter;
  19. import com.edufound.bytedance.mvp.view.MainView;
  20. import com.edufound.bytedance.util.ContextUtil;
  21. public class MainActivity extends BaseActivity<MainModel, MainView, MainPersenter> implements MainView {
  22. FrameLayout mMainFrame;
  23. Activity mActivity;
  24. WebView mWebView;
  25. ImageView mLoading;
  26. ObjectAnimator mLoadingAnim;
  27. @Override
  28. protected void onCreate(@Nullable Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_main);
  31. mActivity = this;
  32. init();
  33. }
  34. void init() {
  35. mMainFrame = findViewById(R.id.MainFrame);
  36. mLoading = findViewById(R.id.MainLoading);
  37. mWebView = new WebView(ContextUtil.getmApplicationContext());
  38. mMainFrame.setBackgroundColor(Color.parseColor("#5CC9FF"));
  39. mWebView.setBackgroundColor(Color.parseColor("#5CC9FF"));
  40. mLoadingAnim = ObjectAnimator.ofFloat(mLoading, "rotation", 0.0F, 359.0F);//设置Y轴的立体旋转动画
  41. mLoadingAnim.setRepeatCount(-1);
  42. mLoadingAnim.setDuration(1000);
  43. LinearInterpolator interpolator = new LinearInterpolator();
  44. mLoadingAnim.setInterpolator(interpolator); //设置匀速旋转,不卡顿 icon_anim.start();
  45. //設置webview
  46. mPresenter.initWeb();
  47. mPresenter.openWeb(getIntent());
  48. mMainFrame.addView(getWebView());
  49. // /test show network dialog
  50. // Button ben = new Button(mActivity);
  51. // ben.setLayoutParams(new FrameLayout.LayoutParams(100, 100));
  52. // ben.setText("click show dialog error page");
  53. // ben.setOnClickListener(new View.OnClickListener() {
  54. // @Override
  55. // public void onClick(View view) {
  56. // Intent intent = new Intent(MainActivity.this, DialogNetworkActivity.class);
  57. // startActivity(intent);
  58. // }
  59. // });
  60. // mMainFrame.addView(ben);
  61. }
  62. @Override
  63. protected void onResume() {
  64. super.onResume();
  65. }
  66. @Override
  67. public void onPause() {
  68. super.onPause();
  69. }
  70. @Override
  71. public boolean onKeyDown(int keyCode, KeyEvent event) {
  72. return mPresenter.onKeyDown(keyCode, event);
  73. }
  74. @Override
  75. public boolean onKeyUp(int keyCode, KeyEvent event) {
  76. return mPresenter.onKeyUp(keyCode, event);
  77. }
  78. @Override
  79. public MainView createView() {
  80. return this;
  81. }
  82. @Override
  83. public MainModel createModel() {
  84. return new MainModel();
  85. }
  86. @Override
  87. public MainPersenter createPresenter() {
  88. return new MainPersenter();
  89. }
  90. @Override
  91. public Activity getActivity() {
  92. return mActivity;
  93. }
  94. @Override
  95. public void showProgressDialog() {
  96. mLoading.setVisibility(View.VISIBLE);
  97. mLoading.bringToFront();
  98. mLoadingAnim.start();
  99. }
  100. @Override
  101. public void dismissProgressDialog() {
  102. mLoading.setVisibility(View.INVISIBLE);
  103. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
  104. mLoadingAnim.pause();
  105. }
  106. }
  107. @Override
  108. public void loadJsMehtod(String method) {
  109. mWebView.loadUrl("javascript:" + method + "");
  110. }
  111. @Override
  112. public void loadJsMethodPost(final String method) {
  113. mWebView.post(new Runnable() {
  114. @Override
  115. public void run() {
  116. mWebView.loadUrl("javascript:" + method + "");
  117. }
  118. });
  119. }
  120. @Override
  121. public void loadUrl(String url) {
  122. mWebView.loadUrl(url);
  123. }
  124. @Override
  125. public WebView getWebView() {
  126. return mWebView;
  127. }
  128. @Override
  129. public void showDialogNetWork() {
  130. Intent intent = new Intent(mActivity, DialogNetworkActivity.class);
  131. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  132. mActivity.startActivity(intent);
  133. }
  134. }