时间:2021-05-19
本文实例为大家分享了Android实现京东秒杀界面展示的具体代码,供大家参考,具体内容如下
效果图:
京东秒杀是两个小时一个场次,判断本机的时间进行场次定时,然后在这两个小时里面进行倒计时。
MainActivity
package com.bwie.com.myapplication;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.widget.TextView;import java.sql.Date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;public class MainActivity extends AppCompatActivity { private TextView miaosha_time; private TextView miaosha_shi; private TextView miaosha_minter; private TextView miaosha_second; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); setTime(); sendEmptyMessageDelayed(0, 1000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); handler.sendEmptyMessage(0); } public void initView(){ miaosha_time = (TextView) findViewById(R.id.tv_miaosha_time); miaosha_shi = (TextView) findViewById(R.id.tv_miaosha_shi); miaosha_minter = (TextView) findViewById(R.id.tv_miaosha_minter); miaosha_second = (TextView) findViewById(R.id.tv_miaosha_second); } //秒杀倒计时 public void setTime() { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis()); String format = df.format(curDate); StringBuffer buffer = new StringBuffer(); String substring = format.substring(0, 11); buffer.append(substring); Log.d("ccc", substring); Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); if (hour % 2 == 0) { miaosha_time.setText(hour + "点场"); buffer.append((hour + 2)); buffer.append(":00:00"); } else { miaosha_time.setText((hour - 1) + "点场"); buffer.append((hour + 1)); buffer.append(":00:00"); } String totime = buffer.toString(); try { java.util.Date date = df.parse(totime); java.util.Date date1 = df.parse(format); long defferenttime = date.getTime() - date1.getTime(); long days = defferenttime / (1000 * 60 * 60 * 24); long hours = (defferenttime - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60); long minute = (defferenttime - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60); long seconds = defferenttime % 60000; long second = Math.round((float) seconds / 1000); miaosha_shi.setText("0" + hours + ""); if (minute >= 10) { miaosha_minter.setText(minute + ""); } else { miaosha_minter.setText("0" + minute + ""); } if (second >= 10) { miaosha_second.setText(second + ""); } else { miaosha_second.setText("0" + second + ""); } } catch (ParseException e) { e.printStackTrace(); } }}布局文件:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.bwie.com.myapplication.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:gravity="center_vertical"> <TextView android:id="@+id/tv_miaosha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:text="京东秒杀" android:textColor="#f00" /> <TextView android:id="@+id/tv_miaosha_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dp" android:text="10点场" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/tv_miaosha_shi" android:layout_width="15dp" android:layout_height="15dp" android:background="@drawable/shape_miaosha_time" android:gravity="center" android:text="1" android:textColor="#fff" android:textSize="10sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:text=":" /> <TextView android:id="@+id/tv_miaosha_minter" android:layout_width="15dp" android:layout_height="15dp" android:background="@drawable/shape_miaosha_time" android:gravity="center" android:text="1" android:textColor="#fff" android:textSize="10sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dp" android:text=":" /> <TextView android:id="@+id/tv_miaosha_second" android:layout_width="15dp" android:layout_height="15dp" android:background="@drawable/shape_miaosha_time" android:gravity="center" android:text="1" android:textColor="#fff" android:textSize="10sp" /> </LinearLayout> </LinearLayout></RelativeLayout>shape_miaosha_time.xml(对倒计时小黑框圆角的实现)
<?xml version="1.0" encoding="utf-8"?><shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#000"></solid> <corners android:radius="3dp"></corners></shape>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Android编程实现泡泡聊天界面的方法。分享给大家供大家参考,具体如下:昨天写了个界面,实现了Android泡泡聊天界面。运行结果如下,点击发送
关于实现网易新闻客户端的界面,以前写过很多博客,请参考:Android实现网易新闻客户端效果Android实现网易新闻客户端侧滑菜单(一)Android实现网易
京东品类秒杀是针对不同类目秒杀,现将品类秒杀正式升级为超值清单;它是主打场景概念,实现单品主题聚合的业务模式,提报也改为单品提报。来详细看看,京东超值清单的报名
京东秒杀预告是降价吗?京东秒杀是一个优惠力度很大的活动,首次会公布一个京东秒杀预告,很多买家对于这个京东秒杀预告产生了好奇,想知道京东秒杀预告是降价吗?京东
秒杀功能秒杀场景现在已经非常常见了,各种电商平台都有秒杀的产品,接下来我们模拟一个秒杀的项目,最终能够确保高并发下的线程安全。界面比较简单,但是功能基本实现。界