本次视频讲解的内容依然还是Android的基础控件ImageButton和ProgressBar,我觉得学习Android应该先把戏台搭好才能唱好戏。

  • 马上学Android 013 - ImageButton和ProgressBar的简单使用

照例先看一下xml布局文件

1
2
3
4
5
6
7
8
9
10
11
12
13
<ImageButton
android:layout_width="120px"
android:layout_height="120px"
android:src="@drawable/timegoing"
android:layout_gravity="center"
android:id="@+id/ibTimeGoing" />


<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:visibility="gone"
android:id="@+id/pbTimeWaiting" />

说明:
在ImageButton的 android:src="@drawable/timegoing" 引用的是drawable文件下的图片文件

设置了ProgressBar的android:visibility,属性值含义如下:

说明
visible 控件可见
invisible 控件不可见,但是会占据布局空间
gone 控件不可见,不占据布局空间

Java源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class SecondActivity extends Activity {

private ImageButton ibTimeGoing;
private ProgressBar pbTimeWaiting;

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

ibTimeGoing = (ImageButton) findViewById(R.id.ibTimeGoing);
pbTimeWaiting = (ProgressBar) findViewById(R.id.pbTimeWaiting);

ibTimeGoing.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pbTimeWaiting.setVisibility(View.VISIBLE);

Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});

thread.start();
}
});
}
}

因为ProgressBar在代码中设置了gone属性,所以要使用ProgressBar之前,需要先设置 pbTimeWaiting.setVisibility(View.VISIBLE);

最终的效果就是下面所示的了,那么如何让这个ProgressBar消失,后面的课程会讲到,Stay tuned!

Demo