为了账号安全,请及时绑定邮箱和手机立即绑定

动画完成后如何隐藏进度条

动画完成后如何隐藏进度条

陪伴而非守候 2021-12-22 20:07:53
我有一个包含 aWebView和的活动ProgressBar。在网页加载过程中,进度条出现并逐渐水平填充。View.GONE动画完成后如何设置进度条的可见性?public class WebviewActivity extends AppCompatActivity {    WebView myWebView;    ProgressBar pBar;    ProgressBar myProgressBar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.fragment_webview);    }    @Override    protected void onStart() {        super.onStart();        setContentView(R.layout.fragment_webview);        myProgressBar = findViewById(R.id.mProgressBar);        myProgressBar.setMax(100);        String url = getIntent().getStringExtra("url");        myWebView = findViewById(R.id.webview01);        myWebView.setWebViewClient(new WebViewClient());        WebSettings webSettings = myWebView.getSettings();        webSettings.setJavaScriptEnabled(true);        myWebView.loadUrl(url);        myWebView.setWebChromeClient(new WebChromeClient() {            @Override            public void onProgressChanged(WebView view, int newProgress) {                super.onProgressChanged(view, newProgress);                myProgressBar.setProgress(newProgress);                if (newProgress == 100) {                    AlphaAnimation fadeOut;                    fadeOut = new AlphaAnimation(1,0);                    fadeOut.setDuration(500);                    fadeOut.setFillAfter(true);                    myProgressBar.startAnimation(fadeOut);//                    myProgressBar.setVisibility(View.GONE);                } else {                    myProgressBar.setVisibility(View.VISIBLE);                }            }        });    }    private class WebViewClient extends android.webkit.WebViewClient {        @Override        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){            String url=request.getUrl().toString();            view.loadUrl(url);            return true;               }    }}
查看完整描述

2 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

使用监听器:


fadeOut.setAnimationListener(new Animation.AnimationListener() {

    @Override

    public void onAnimationStart(Animation animation) {}


    @Override

    public void onAnimationRepeat(Animation animation) {}


    @Override

    public void onAnimantionEnd(Animation animation) {

        myProgressBar.setVisibility(View.GONE);

    }

});


查看完整回答
反对 回复 2021-12-22
?
繁华开满天机

TA贡献1816条经验 获得超4个赞

尝试为动画对象设置一个动画监听器 (fadeOut):


myWebView.setWebChromeClient(new WebChromeClient() {

            @Override

            public void onProgressChanged(WebView view, int newProgress) {

                super.onProgressChanged(view, newProgress);

                myProgressBar.setProgress(newProgress);


                if (newProgress == 100) {

                    AlphaAnimation fadeOut;

                    fadeOut = new AlphaAnimation(1, 0);

                    fadeOut.setDuration(500);

                    fadeOut.setFillAfter(true);

                    fadeOut.setAnimationListener(new Animation.AnimationListener() {

                        @Override

                        public void onAnimationStart(Animation animation) {

                            // whatever you want to happen when the fadeOut animation starts

                        }


                        @Override

                        public void onAnimationEnd(Animation animation) {

                            // whatever you want to happen when the fadeOut animation ends

                            myProgressBar.setVisibility(View.GONE);

                        }


                        @Override

                        public void onAnimationRepeat(Animation animation) {

                            // whatever you want to happen when the fadeOut animation repeats itself

                        }

                    });

                    myProgressBar.startAnimation(fadeOut);

                } else {

                    myProgressBar.setVisibility(View.VISIBLE);

                }

            }

        });

通过上面的回调,您可以挂钩AnimationStart,AnimationEnd和AnimationRepeat。


查看完整回答
反对 回复 2021-12-22
  • 2 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号