ProgressBar进度条在Android研发中经常用到,写了一个demo。
1、其中主要的方法属性
指定Progress最多为100:android:max="100"
对应方法progressBarFirst.setMax(max);
设置Progress的初始值:android:progress="10" 对应的方法progressBarFirst.setProgress(i);
设置Progress的二级进度的初始值:android:secondaryProgress="" 对应方法progressBarFirst.setSecondaryProgress(i+10);
2、代码如下:
XML文件activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mei.pregressdemo.MainActivity"
tools:ignore="MergeRootFrame" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<ProgressBar
android:id="@+id/progressBarFirst"
android:layout_width="match_parent"
android:layout_height="60dp"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:progress="0"
android:secondaryProgress="0"
android:visibility="gone"
/>
<ProgressBar
android:id="@+id/progressBarSecond"
android:layout_width="match_parent"
android:layout_height="60dp"
style="?android:attr/progressBarStyle"
android:visibility="gone"
/>
</LinearLayout>
Java文件MainActivity.java内容
package com.mei.pregressdemo;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ProgressBar;
public class MainActivity extends Activity {
private ProgressBar progressBarFirst;
private ProgressBar progressBarSecond;
private Button button1;
int i = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
button1 = (Button)findViewById(R.id.button);
progressBarFirst = (ProgressBar)findViewById(R.id.progressBarFirst);
progressBarSecond = (ProgressBar)findViewById(R.id.progressBarSecond);
button1.setText(R.string.button_str);
button1.setOnClickListener(new ProgresssBarOnClickListener());
}
private class ProgresssBarOnClickListener implements OnClickListener {
@Override
public void onClick(View v) {
if(0 == i) {
progressBarFirst.setVisibility(View.VISIBLE);
progressBarSecond.setVisibility(View.VISIBLE);
} else if(i<100) {
progressBarFirst.setProgress(i);
progressBarFirst.setSecondaryProgress(i+10);
progressBarSecond.setProgress(i);
} else {
progressBarFirst.setVisibility(View.GONE);
progressBarSecond.setVisibility(View.GONE);
}
i = i + 10;
}
}
}