TestMainActivity.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package com.kongzue.dialogxdemo.activity;
  2. import android.content.ActivityNotFoundException;
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Build;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.webkit.WebSettings;
  10. import android.webkit.WebView;
  11. import android.webkit.WebViewClient;
  12. import android.widget.ImageView;
  13. import android.widget.TextView;
  14. import androidx.annotation.Nullable;
  15. import androidx.appcompat.app.AppCompatActivity;
  16. import androidx.core.content.ContextCompat;
  17. import androidx.core.view.ViewCompat;
  18. import androidx.core.view.WindowCompat;
  19. import androidx.core.view.WindowInsetsCompat;
  20. import com.kongzue.dialogx.dialogs.BottomDialog;
  21. import com.kongzue.dialogx.dialogs.CustomDialog;
  22. import com.kongzue.dialogx.dialogs.FullScreenDialog;
  23. import com.kongzue.dialogx.interfaces.DialogLifecycleCallback;
  24. import com.kongzue.dialogx.interfaces.OnBindView;
  25. import com.kongzue.dialogxdemo.R;
  26. public class TestMainActivity extends AppCompatActivity {
  27. @Override
  28. protected void onCreate(@Nullable Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_main_test);
  31. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
  32. getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.colorAccent));
  33. }
  34. WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
  35. findViewById(R.id.btn_showDialog).setOnClickListener(view -> {
  36. // BottomDialog.show("标题", "这里是对话框内容。")
  37. // .setCancelButton("取消", (dialog, v) -> false)
  38. // .setOkButton("确定", (dialog, v) -> false);
  39. FullScreenDialog.show(new OnBindView<FullScreenDialog>(R.layout.layout_full_webview) {
  40. private TextView btnClose;
  41. private WebView webView;
  42. @Override
  43. public void onBind(final FullScreenDialog dialog, View v) {
  44. btnClose = v.findViewById(R.id.btn_close);
  45. webView = v.findViewById(R.id.webView);
  46. btnClose.setOnClickListener(new View.OnClickListener() {
  47. @Override
  48. public void onClick(View v) {
  49. dialog.dismiss();
  50. }
  51. });
  52. WebSettings webSettings = webView.getSettings();
  53. webSettings.setJavaScriptEnabled(true);
  54. webSettings.setLoadWithOverviewMode(true);
  55. webSettings.setUseWideViewPort(true);
  56. webSettings.setSupportZoom(false);
  57. webSettings.setAllowFileAccess(true);
  58. webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
  59. webSettings.setLoadsImagesAutomatically(true);
  60. webSettings.setDefaultTextEncodingName("utf-8");
  61. webView.setWebViewClient(new WebViewClient() {
  62. @Override
  63. public boolean shouldOverrideUrlLoading(WebView view, String url) {
  64. try {
  65. Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
  66. startActivity(intent);
  67. } catch (ActivityNotFoundException e) {
  68. e.printStackTrace();
  69. }
  70. return true;
  71. }
  72. @Override
  73. public void onPageFinished(WebView view, String url) {
  74. super.onPageFinished(view, url);
  75. }
  76. });
  77. webView.loadUrl("https://github.com/kongzue/DialogX");
  78. }
  79. });
  80. });
  81. }
  82. }