初识ProgressBar

Android FormWidget之一

实现起来很简单,大体有两种style.

怎么自定义ProgressBar?

有两种方法,一种是运用android:progressDrawable=""设置定制drawable

第二种方法是自定义style, style="@android:style/"

1     <ProgressBar
2         android:id="@+id/progressBar1"
3         style="?android:attr/progressBarStyleHorizontal"
4         android:layout_width="match_parent"
5         android:layout_height="wrap_content"
6         android:indeterminate="false"
7         android:progress="20"
8          />    
 1 protected void onCreate(Bundle savedInstanceState) {
 2         super.onCreate(savedInstanceState);
 3         setContentView(R.layout.activity_form);
 4 
 5          
 6         showProgressBar();
 7         showButton();
 8     }
 9     
10     public void showButton() {
11         Button button = (Button) findViewById(R.id.button1);
12         button.setOnClickListener(new OnClickListener() {
13             
14             @Override
15             public void onClick(View v) {
16                 // TODO Auto-generated method stub
17                 progressBar.setProgress(progressBar.getProgress()+20);
18                 if (progressBar.getProgress()>=progressBar.getMax()) {
19                     progressBar.setProgress(0);
20                 }
21             }
22         });
23     }
24     
25     public void showProgressBar() {
26          progressBar = (ProgressBar) findViewById(R.id.progressBar1);
27     
28     }

 

这时你可能会问,旋转的进度条表明我们的程序正在加载数据,那数据总会有加载完的时候吧,如何才能让进度条在数据加载完成时消失呢?

这里我们就需要用到一个新的知识点,Android控件的可见属性。

所有的Android控件都具有这个属性,可以通过ndroid:visibility进行指定,可选值有三种,visible、invisible 和 gone。visible 表示控件是可见的,这个值是默认值,不指定 android:visibility 时,控件都是可见的。

invisible 表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解成控件变成透明状态了。

gone 则表示控件不仅不可见,而且不再占用任何屏幕空间。

我们还可以通过代码来设置控件的可见性,使用的是setVisibility()方法,可以传入 View.VISIBLE、View.INVISIBLE 和 View.GONE 三种值。

如:progressBar.setVisibility(View.VISIBLE);

posted @ 2014-12-24 14:08  iRac  阅读(202)  评论(0编辑  收藏  举报