android ProgressBar 进度条demo
时间 2020-05-09
标签
android
progressbar
进度
条
demo
ProgressBar Demo
进度条没有什么好讲解的,就是几个方法,熟悉了就ok。直接上代码。
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="f3.nsu.com.progressbar.MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="增长进度"/>
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="207dp"
android:layout_height="5dp"
android:layout_marginTop="50dp"
android:progressDrawable="@drawable/progress_bar"
android:progress="0"/>
</RelativeLayout>
在这里为了进度条的美观,给它设置了一个背景,在drawable中添加文件progress_bar.xml
<?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>
<corners android:radius="5dp" />
<solid android:color="#f0f0f0" />
</shape>
</item>
<!-- 进度条 -->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dp" />
<gradient
android:endColor="#2673d6"
android:startColor="#50cfed" />
</shape>
</clip>
</item>
</layer-list>
最后是MainActivity.java,基本上没有什么难的地方,不明白的方法都有注释。
package f3.nsu.com.progressbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.Toast;
/**
* 进度条 progressBar基本操做
*/
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar; //进度条
private Button button; //添加进度按钮
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//绑定控件
progressBar = (ProgressBar) findViewById(R.id.progressBar);
button = (Button) findViewById(R.id.button);
progressBar.setMax(100); //设置进度条最大值
//按钮点击事件,点击一次增长20%进度
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressBar.incrementProgressBy(20); //增长20%进度
//进行提示
Toast.makeText(MainActivity.this,"已添加20%进度!",Toast.LENGTH_LONG).show();
}
});
}
}
以上就是所有的代码,若有问题,请指正。