android - 在 webview 加载 android 应用程序后 Prelaoder 不去
问题描述
我已经制作了一个用于学习目的的 webview 应用程序,我正在尝试在 webview 之前添加一些预加载器作为下一步,我已经为预加载器添加了代码,但问题是即使在加载 webview 后预加载器也没有消失,感谢任何帮助,如果可能的话,也请建议添加下拉刷新代码。
mainactivity.java
package com.example.motomaxsport;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import com.github.ybq.android.spinkit.sprite.Sprite;
import com.github.ybq.android.spinkit.style.Wave;
import static android.view.View.GONE;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ProgressBar progressBar = (ProgressBar)findViewById(R.id.spin_kit);
Sprite doubleBounce = new Wave();
progressBar.setIndeterminateDrawable(doubleBounce);
CustomWebViewClient client = new CustomWebViewClient(this);
webView = findViewById(R.id.webView);
webView.setWebViewClient(client);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://motomaxsport.com/");
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if(keyCode == KeyEvent.KEYCODE_BACK && this.webView.canGoBack()){
this.webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
class CustomWebViewClient extends WebViewClient{
private final Activity activity;
public CustomWebViewClient(Activity activity){
this.activity = activity;
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String url){
return false;
}
@Override
public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request){
return false;
}
}
activity main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<com.github.ybq.android.spinkit.SpinKitView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/spin_kit"
style="@style/SpinKitView.Large.Circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:SpinKit_Color="#ff3822"
android:layout_centerInParent="true"/>
</RelativeLayout>
androidmainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.motomaxsport">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Motomaxsport">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
解决方案
推荐阅读
- java - 带有 Cglib 的 Spring Boot 应用程序抛出 InvocationTargetException
- javascript - d3.selectAll 仅在元素中具有类的元素
- javascript - 如何在两个链接之间使用 toggleClass 方法
- r - readLines function with new version of R
- django - Django 测试卡在迁移/权限上
- jquery - jquery覆盖我的css颜色
- permissions - 哪些是网站的正确权限
- python - 通过 ssh 执行 pyqt 文件
- path - 设置cygwin
- python - 如何在数据库的一列中获取和存储 2 个值?Python Flask SQLAlchemy