首页 > 解决方案 > RopeProgress Bar 安卓工作室

问题描述

我正在尝试在我的应用程序https://github.com/cdeange/RopeProgressBar/blob/master/library/src/main/java/com/deange/ropeprogressview/RopeProgressBar.java中使用这个 RopeProgressBar 。

创建者使用 mRopeProgressBar.animateProgress(progress);

我尝试使用相同的代码,但对我没有任何作用。

飞溅活动

在此处输入图像描述

XML 文件

在此处输入图像描述

先感谢您。尝试自己解决这个问题大约 3-4 小时。

标签: javaandroid

解决方案


package com.example.user.poiskovichok;

import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.SeekBar;

import com.deange.ropeprogressview.RopeProgressBar;

public class SplashScreenActivity extends AppCompatActivity {

    private RopeProgressBar mRopeProgressBar;
    private int progressStatus = 0;
    private Handler handler = new Handler();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash_screen);

        mRopeProgressBar = findRopeProgressView(getWindow().getDecorView()); // equals findViewById



   new Thread(){
            @Override
            public void run() {
                while (progressStatus < 100) {
                    progressStatus += 4;

                    handler.post(new Runnable() {
                        public void run() {
                            mRopeProgressBar.animateProgress(progressStatus);
                        }


                    });

                    if (progressStatus > 100){

                        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                        startActivity(intent);
                        finish();
                    }
                }

                try{
                    Thread.sleep(500);


                }catch (Exception e){
                    e.getCause();
                }


            }




        }.start();



    }





    private RopeProgressBar findRopeProgressView(final View view) {
        if (view instanceof RopeProgressBar) {
            return (RopeProgressBar) view;

        } else if (view instanceof ViewGroup) {
            ViewGroup p = ((ViewGroup) view);
            View child;
            for (int i = 0; i < p.getChildCount(); i++) {
                if ((child = findRopeProgressView(p.getChildAt(i))) != null) {
                    return (RopeProgressBar) child;
                }
            }
        }

        return null;
    }

推荐阅读