布局:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<
LinearLayout
android:id
=
"@+id/ll_xsqg"
android:layout_width
=
"match_parent"
android:layout_height
=
"wrap_content"
android:orientation
=
"horizontal"
android:paddingTop
=
"8dp"
android:paddingBottom
=
"8dp"
android:paddingLeft
=
"16dp"
>
<
TextView
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:textStyle
=
"bold"
android:textSize
=
"14sp"
android:text
=
"@string/xsqg"
/>
<
TextView
android:id
=
"@+id/tv_hour"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dp"
android:paddingTop
=
"3dp"
android:paddingBottom
=
"3dp"
android:paddingLeft
=
"5dp"
android:paddingRight
=
"5dp"
android:background
=
"@drawable/time_corner"
android:textColor
=
"@android:color/white"
android:textSize
=
"12sp"
android:text
=
"02"
/>
<
TextView
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dp"
android:textStyle
=
"bold"
android:textColor
=
"@android:color/black"
android:text
=
":"
/>
<
TextView
android:id
=
"@+id/tv_minute"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dp"
android:paddingTop
=
"3dp"
android:paddingBottom
=
"3dp"
android:paddingLeft
=
"5dp"
android:paddingRight
=
"5dp"
android:background
=
"@drawable/time_corner"
android:textColor
=
"@android:color/white"
android:textSize
=
"12sp"
android:text
=
"15"
/>
<
TextView
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dp"
android:textStyle
=
"bold"
android:textColor
=
"@android:color/black"
android:text
=
":"
/>
<
TextView
android:id
=
"@+id/tv_second"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_marginLeft
=
"5dp"
android:paddingTop
=
"3dp"
android:paddingBottom
=
"3dp"
android:paddingLeft
=
"5dp"
android:paddingRight
=
"5dp"
android:background
=
"@drawable/time_corner"
android:textColor
=
"@android:color/white"
android:textSize
=
"12sp"
android:text
=
"36"
/>
</
LinearLayout
>
|
代码实现
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
public
class
HomeActivity
extends
Activity {
@Bind
(R.id.tv_hour)
TextView tvHour;
@Bind
(R.id.tv_minute)
TextView tvMinute;
@Bind
(R.id.tv_second)
TextView tvSecond;
private
long
mHour =
02
;
private
long
mMin =
15
;
private
long
mSecond =
36
;
private
boolean
isRun =
true
;
private
Handler timeHandler =
new
Handler() {
@Override
public
void
handleMessage(Message msg) {
super
.handleMessage(msg);
if
(msg.what==
1
) {
computeTime();
if
(mHour<
10
){
tvHour.setText(
"0"
+mHour+
""
);
}
else
{
tvHour.setText(
"0"
+mHour+
""
);
}
if
(mMin<
10
){
tvMinute.setText(
"0"
+mMin+
""
);
}
else
{
tvMinute.setText(mMin+
""
);
}
if
(mSecond<
10
){
tvSecond.setText(
"0"
+mSecond+
""
);
}
else
{
tvSecond.setText(mSecond+
""
);
}
}
}
};
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_home);
ButterKnife.bind(
this
);
startRun();
}
/**
* 开启倒计时
*/
private
void
startRun() {
new
Thread(
new
Runnable() {
@Override
public
void
run() {
// TODO Auto-generated method stub
while
(isRun) {
try
{
Thread.sleep(
1000
);
// sleep 1000ms
Message message = Message.obtain();
message.what =
1
;
timeHandler.sendMessage(message);
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
/**
* 倒计时计算
*/
private
void
computeTime() {
mSecond--;
if
(mSecond <
0
) {
mMin--;
mSecond =
59
;
if
(mMin <
0
) {
mMin =
59
;
mHour--;
}
}
}
}
|