点击某个按钮显示3 2 1 倒计时(地图上的倒计时与计算速度 时间 距离)
来源:互联网 发布:java 性能权威指南 编辑:程序博客网 时间:2024/05/17 09:35
//当点击开始按钮时,开始倒计时,添加监听器, tvAction.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { TextView tvAction = (TextView) v; String text = tvAction.getText().toString(); // 判断是开始还是停止 if ("开始".equals(text)) { // 创建 DiaLog显示 3,2,1 counterDialog = new AlertDialog.Builder(getActivity()).create(); View showCounterView = View.inflate(getActivity(), R.layout.activity_show_counter, null); final TextView tvCounter = (TextView) showCounterView .findViewById(R.id.tv_show_count); counterDialog.setView(showCounterView); counterDialog.show(); //设置 3 2 1 数字显示的时间间隔 延迟多少毫秒 handler.postDelayed(new Runnable() { @Override public void run() { try { count = count - 1; tvCounter.setText(String.valueOf(count)); if (count > 0) { handler.postDelayed(this, 500); } else { counterDialog.dismiss(); count = 3; //显示另外一个布局 开始设置 时间,距离 速度了 showRecorder(); } } catch (Exception e) { e.printStackTrace(); } } }, 500); tvAction.setText("结束"); } else if ("结束".equals(text)) { linearLayout.setVisibility(View.GONE); handler.removeCallbacks(runnable); positionList.clear(); baiduMap.clear(); tvAction.setText("开始"); } } catch (Exception e) { e.printStackTrace(); } } });
开始计时, 显示 时间,运动的距离,与速度
private void showRecorder() { linearLayout.setVisibility(View.VISIBLE); // 显示时间 // 显示时间控件 final Chronometer chronometer = (Chronometer) view .findViewById(R.id.chronometer1); // 对时间控件设置基本时间,显示出来是0 :0 chronometer.setBase(SystemClock.elapsedRealtime()); chronometer.start(); final TextView tvDistance = (TextView) view .findViewById(R.id.tv_distance); tvDistance.setText("0:0"); final TextView tvSpeed = (TextView) view .findViewById(R.id.tv_recorder_speed); tvSpeed.setText("0:0"); runnable = new Runnable() { @Override public void run() { try { // 计算公里 double distance = 0; if (positionList.size() >= 2) { for (int i = 0; i < positionList.size() - 1; i++) { // 第一个点 纬度 double latitude1 = positionList.get(i).latitude; // 第一个点的经度 double longitude1 = positionList.get(i).longitude; // 第二个点的纬度 double latitude2 = positionList.get(i + 1).latitude; // 第二个点的经度 double longitude2 = positionList.get(i + 1).longitude; distance = distance + BaiduMapUtil.GetDistance(longitude1, latitude1, longitude2, latitude2); }//在工具类中 有计算距离的类 // 转成公里 String strDistance = String.valueOf(distance / 1000); if (strDistance.contains(".")) { strDistance = strDistance.substring(0, strDistance.indexOf(".") + 3); } tvDistance.setText(strDistance); } // 得时间60:00 [60,00] String time = chronometer.getText().toString(); Log.i("计算时间", time + "," + System.currentTimeMillis()); double minute = Integer.parseInt(time.split("\\:")[0]); double second = Integer.parseInt(time.split("\\:")[1]); if ((minute > 0 || second > 0) && distance > 0) { // 计算速度 double speed = (distance / 1000) / ((minute * 60 + second) / (60 * 60)); String strSpeed = String.valueOf(speed); if (strSpeed.contains(".")) { strSpeed = strSpeed.substring(0, strSpeed.indexOf(".") + 3); } tvSpeed.setText(strSpeed); } } catch (Exception e) { // TODO: handle exception } finally { handler.postDelayed(this, 1000); } } }; //没隔一秒计算一次 handler.postDelayed(runnable, 1000); }
0 0
- 点击某个按钮显示3 2 1 倒计时(地图上的倒计时与计算速度 时间 距离)
- javascript中按钮,设置显示时间的倒计时,时间到记完,然后此按钮被激活可以点击。
- 倒计时(距离抢购时间)
- 倒计时恢复按钮点击
- 点击按钮发送倒计时
- 指定某个时间,倒计时
- 网页上适时显示的时间&倒计时
- 自己写的按钮点击倒计时控件
- 按钮倒计时显示
- 计算时间倒计时
- 倒计时、计算时间
- 实现button按钮上的倒计时
- js获取时间距离倒计时
- CountDownTimer实现点击按钮倒计时
- 点击按钮实现倒计时效果
- PHP 计算两时间的时间差,倒计时
- 按钮倒计时bug,倒计时闪烁,倒计时显示错乱
- View上显示倒计时
- 重装Windows系统
- HDU-1114-Piggy-Bank
- Oracle安装报错:" Oracle Net Configuration Assistant" 失败
- 抓包工具wireshark
- 【总结】AWS 云计算环境中的Microservices(微服务)架构
- 点击某个按钮显示3 2 1 倒计时(地图上的倒计时与计算速度 时间 距离)
- AOP源码分析之初始化通知器链
- HDU1166 线段树 裸 单点更新
- 关于MediaPlayer中的getCurrentPosition()和seekTo(int)的总结
- 内核源码IO多路复用之select
- Leetcode OJ | Number of Digit One
- jstorm的cgroup资源隔离机制
- BaiduMapUtil 百度地图计算两点之间的距离的工具类
- iframe跨域应用