布局
<LinearLayout
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:paddingLeft="16dp">
<TextView
android:textColor="#FF3848"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="22sp"
android:text="京东秒杀"/>
<TextView
android:textColor="#222222"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="19sp"
android:text=" 12点场 "/>
<TextView
android:textStyle="bold"
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/daojishi_shape"
android:textColor="@android:color/white"
android:textSize="15sp"
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:textStyle="bold"
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/daojishi_shape"
android:textColor="@android:color/white"
android:textSize="14sp"
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:textStyle="bold"
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/daojishi_shape"
android:textColor="@android:color/white"
android:textSize="14sp"
android:text="36"/>
</LinearLayout>
代码
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(mHour+"");
}
if(mMin<10){
tvMinute.setText("0"+mMin+"");
}else{
tvMinute.setText(mMin+"");
}if(mSecond<10){
tvSecond.setText("0"+mSecond+"");
}else{
tvSecond.setText(mSecond+"");
}
}
}
};
TextView tvHour = view.findViewById(R.id.tv_hour);
TextView tvMinute = view.findViewById(R.id.tv_minute);
TextView tvSecond = view.findViewById(R.id.tv_second);
startRun();
引用
/**
* 开启倒计时
* */
private void startRun(){
new Thread(new Runnable() {
@Override
public void run() {
while(isRun){
try {
//睡眠一秒发送消息handler
Thread.sleep(1000);
Message message = Message.obtain();
message.what=1;
//发送消息
timeHandler.sendMessage(message);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
//调用 倒计时计算的方法
/**
* 倒计时计算
* */
private static void computeTime(){
//首先把秒减1
mSecond--;
if(mSecond<0){//如果秒已经减到了0
mMin--;//分钟就减1
mSecond=59;//秒变成 59
if(mMin<0){//如果分钟小于0
mMin=59;//分钟变成59
mHour--;//小时减1
}
}
}
走马灯、倒计时在首页里面