Я новичок в области разработки android, и я делал приложение для веб-просмотра, просматривая видео на YouTube. Я следовал всему тому же, я даже проверил свой код снова, он такой же, но я не знаю, почему он не отображается Индикатор выполнения Вот мои коды:
Activity_main. xml
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="9dp"
android:max="100"
android:progress="20"
android:visibility="gone" />
<WebView
android:id="@+id/myWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0"
tools:layout_editor_absoluteX="16dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity. java
пакет com.example.exapmle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
//import android.view.Window;
//import android.view.WindowManager;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
public class MainActivity extends AppCompatActivity {
WebView webView;
ProgressBar progressBarWeb;
private String webUrl = "https://example.com";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Window window = getWindow();
// window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.myWebView);
progressBarWeb = (ProgressBar) findViewById(R.id.progressBar);
webView.loadUrl(webUrl);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
progressBarWeb.setVisibility(View.VISIBLE);
progressBarWeb.setProgress(newProgress);
if(newProgress ==100)
progressBarWeb.setVisibility(View.GONE);
super.onProgressChanged(view, newProgress);
}
});
}
@Override
public void onBackPressed() {
if(webView.canGoBack()) {
webView.goBack();
}
else
super.onBackPressed();
}
}