Android-ProgressBar进度条

演示例子:动态加载进度activity_progress_bar.xml中添加进度条,引入样式

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ProgressBarActivity">

    <ProgressBar
        android:id="@+id/progress_view"
        android:paddingTop="20sp"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="0"
        android:progressDrawable="@drawable/progress_shape"/>

</LinearLayout>

设置渐变样式,progress_shape.xml, progress_color.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient android:angle="180" android:startColor="#00DBFF" android:endColor="#2F74FB"></gradient>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background" >
        <shape>
            <solid android:color="#f0f0f0"></solid>
        </shape>
    </item>

    <item android:id="@android:id/progress">
        <scale android:scaleWidth="100%" android:drawable="@drawable/progress_color">
        </scale>
    </item>
</layer-list>

 ProgressBarActivtiy.java

public class ProgressBarActivity extends AppCompatActivity {

    private Handler handler = new Handler();
    private ProgressBar progressBar;
    private int i = 0;
    private Runnable runnable = new Runnable() {
        @Override
        public void run() {
            i++;
            if(i == 100){
                handler.removeCallbacks(this);
            }
            progressBar.setProgress(i);
            handler.postDelayed(this,100);
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_progress_bar);

        progressBar = findViewById(R.id.progress_view);
        handler.postDelayed(runnable,100);
    }
}

猜你喜欢

转载自blog.csdn.net/ED_LAI/article/details/132532546
今日推荐