From 7815e8d838fcd1bca3792671dc20dde77125a343 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期一, 20 四月 2020 17:16:30 +0800
Subject: [PATCH] 基本完成联网考试和单机训练界面
---
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 145 +++++++++++++++++++++++++++--------------------
1 files changed, 83 insertions(+), 62 deletions(-)
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index da8ebf4..e7372b7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -1,6 +1,7 @@
package safeluck.drive.evaluation.fragment;
import android.content.Context;
+import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -14,7 +15,12 @@
import android.os.Handler;
import android.os.Message;
+import android.text.Html;
+import android.text.SpannableString;
+import android.text.Spanned;
import android.text.TextUtils;
+import android.text.style.AbsoluteSizeSpan;
+import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -65,6 +71,7 @@
import safeluck.drive.evaluation.im.MessageProcessor;
import safeluck.drive.evaluation.platformMessage.JKMessage0201;
import safeluck.drive.evaluation.platformMessage.JKMessage0202;
+import safeluck.drive.evaluation.util.DimenUtil;
import safeluck.drive.evaluation.util.Utils;
import safeluck.drive.evaluation.viewmodels.TimeViewModel;
@@ -86,11 +93,12 @@
private int exam_type = 2;//2 鍦哄湴锛�3 閬撹矾锛屾ā鎷熷鑰冿紱4 閬撹矾锛屽疄闄呭鑰冿紱
private ListView mListView;
private Button btn_start_exam;
+ private Button btn_return;
private TextView tv_stop;//鍛煎彨璇锋眰锛堢粨鏉熻�冭瘯锛�
private Gson gson = new Gson();
private ScoreAdapter mScoreAdapter;
- private ArrowView av_zhijiao, av_curve, av_park, av_podao;
- private HouseView houseView;
+ private Button av_zhijiao, av_curve, av_park, av_podao;
+ private Button houseView;
private List<ExamStatus> examStatusList = new ArrayList<>();
private List<String> item_conents = new ArrayList<>();//鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�
@@ -119,12 +127,12 @@
public boolean handleMessage(Message msg) {
if (msg.what == ADD_DATA){
MyLog.i("handler add_data totalScore="+currTotalScore);
- tv_total_score.setText(getResources().getString(R.string.total_score,currTotalScore));
- houseView.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1
- av_podao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP));
- av_park.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK));
- av_curve.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE));
- av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE));
+ setTotalScoreText();
+ houseView.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_REVERSE));//鍊掕溅鍏ュ簱 type =1
+ av_podao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_RAMP));
+ av_park.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_PARK));
+ av_curve.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_CURVE));
+ av_zhijiao.setBackground(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE));
for (int i = 0; i < btn_ids.size(); i++) {
int viewId = getResources().getIdentifier(String.valueOf(btn_ids.get(i)),"id",_mActivity.getPackageName());
@@ -162,7 +170,7 @@
}
});
- private int aaa(int type) {
+ private Drawable aaa(int type) {
if (examStatusList!=null &&examStatusList.size()>0){
for (ExamStatus examStatus:
examStatusList) {
@@ -172,17 +180,17 @@
if (examStatusList.get(0).getStartExam() == Constant.NONE_BEEN_START_EXAM){
//缁撴潫鑰冭瘯浜�
MyLog.i("杩涘叆鑰冨満缁撴潫鑰冭瘯锛宻tartexam="+examStatus.getStartExam());
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
MyLog.i("杩涘叆鑰冨満锛宼ype="+type);
- return getResources().getColor(R.color.pink);
+ return getResources().getDrawable(R.drawable.ic_btn_examing);
}
}else if (examStatus.getEnter() == safeluck.drive.evaluation.DB.Constant.FINISH_ITEM){
if (examStatusList.get(0).getStartExam()==Constant.NONE_BEEN_START_EXAM){
- return getResources().getColor(R.color.examing);
+ return getResources().getDrawable(R.drawable.ic_btn_daikao);
}
switch (type) {
@@ -190,7 +198,7 @@
if (item_conents.contains("鍊掕溅鍏ュ簱")) {
MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type);
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
if (examStatus.getResult() ==1){
MyLog.i("宸茬粡鎾斁杩囧�掕溅鍏ュ簱鍚堟牸");
@@ -199,12 +207,12 @@
examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id());
}
- return getResources().getColor(R.color.train_btn_return);
+ return getResources().getDrawable(R.drawable.ic_btn_succ);
}
case 2:
if (item_conents.contains("鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�")) {
MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type);
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
if (examStatus.getResult() ==1){
MyLog.i("宸茬粡鎾斁杩囧潯閬撳畾鐐瑰仠杞﹀拰璧锋鍚堟牸鍚堟牸");
@@ -213,12 +221,12 @@
examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id());
}
- return getResources().getColor(R.color.train_btn_return);
+ return getResources().getDrawable(R.drawable.ic_btn_succ);
}
case 3:
if (item_conents.contains("渚ф柟鍋滆溅")) {
MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type);
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
if (examStatus.getResult() ==1){
MyLog.i("宸茬粡鎾斁杩囦晶鏂瑰仠杞﹀悎鏍�");
@@ -227,12 +235,12 @@
ExamPlatformData.getInstance().getTTS().speak("渚ф柟鍋滆溅鍚堟牸");
examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id());
}
- return getResources().getColor(R.color.train_btn_return);
+ return getResources().getDrawable(R.drawable.ic_btn_succ);
}
case 4:
if (item_conents.contains("鏇茬嚎琛岄┒")) {
MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type);
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
if (examStatus.getResult() ==1){
MyLog.i("宸茬粡鎾斁杩囨洸绾胯椹跺悎鏍�");
@@ -241,12 +249,12 @@
ExamPlatformData.getInstance().getTTS().speak("鏇茬嚎琛岄┒鍚堟牸");
examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id());
}
- return getResources().getColor(R.color.train_btn_return);
+ return getResources().getDrawable(R.drawable.ic_btn_succ);
}
case 5:
if (item_conents.contains("鐩磋杞集")) {
MyLog.i("璇ラ」鑰冭瘯澶辫触锛宼ype="+type);
- return getResources().getColor(R.color.colorAccent);
+ return getResources().getDrawable(R.drawable.ic_btn_fail);
}else{
if (examStatus.getResult() ==1){
MyLog.i("宸茬粡鎾斁杩囩洿瑙掕浆寮悎鏍�");
@@ -255,7 +263,7 @@
examStatusViewModel.updateItemExamResult(1,examStatus.getMap_id());
}
- return getResources().getColor(R.color.train_btn_return);
+ return getResources().getDrawable(R.drawable.ic_btn_succ);
}
@@ -263,12 +271,12 @@
}
}else{
- return getResources().getColor(R.color.examing);
+ return getResources().getDrawable(R.drawable.ic_btn_daikao);
}
}
}
}
- return getResources().getColor(R.color.examing);
+ return getResources().getDrawable(R.drawable.ic_btn_daikao);
}
/**
@@ -448,11 +456,11 @@
examStatusList.addAll(examStatus);
mHandler.obtainMessage(ADD_DATA).sendToTarget();
if (examStatus.get(0).getStartExam() != Constant.NONE_BEEN_START_EXAM){
- btn_start_exam.setEnabled(false);
+// btn_start_exam.setEnabled(false);
tv_stop.setEnabled(true);
iv_head.getDrawable().setLevel(1);
}else{
- btn_start_exam.setEnabled(true);
+// btn_start_exam.setEnabled(true);
tv_stop.setEnabled(false);
iv_head.getDrawable().setLevel(0);
}
@@ -552,7 +560,8 @@
tv_speed.setText(getResources().getString(R.string.speed,speed));
- view.findViewById(R.id.btn_return).setOnClickListener(this);
+ btn_return = view.findViewById(R.id.btn_return);
+ btn_return.setOnClickListener(this);
mListView = view.findViewById(R.id.lv);
mListView.setFocusable(false);
mListView.setOnTouchListener(new View.OnTouchListener() {
@@ -575,13 +584,12 @@
view.findViewById(R.id.view_map).setOnClickListener(this);
mScoreAdapter = new ScoreAdapter(_mActivity);
mListView.setAdapter(mScoreAdapter);
- btn_start_exam = view.findViewById(R.id.btn_start);
- btn_start_exam.setText("寮�濮嬭缁�");
- btn_start_exam.setOnClickListener(this);
+// btn_start_exam = view.findViewById(R.id.btn_start);
+// btn_start_exam.setText("寮�濮嬭缁�");
+// btn_start_exam.setOnClickListener(this);
tv_stop = view.findViewById(R.id.tv_stop);
tv_stop.setText("缁撴潫璁粌");
tv_stop.setOnClickListener(this);
- mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null));
}
@@ -591,40 +599,40 @@
@Override
public void onClick(View v) {
switch (v.getId()) {
- case R.id.btn_start:
-
- //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
- final JKMessage0202 jkMessage0202 = new JKMessage0202();
- Date date = new Date();
- wokViewModel.updateBeginTime(date.getTime());
- jkMessage0202.timeBCD = date;
- ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
- if (myDialogFragment == null){
- myDialogFragment = new MyDialogFragment();
- }
- myDialogFragment.show(getFragmentManager(),"dialog");
- myDialogFragment.setCallback(new MyDialogFragment.Callback() {
- @Override
- public void changKao() {
-
- sendJK0202(2);
- }
-
- @Override
- public void luKao() {
- sendJK0202(3);
-
-
-
- }
- });
+// case R.id.btn_start:
+//
+// //TODO 鍙戦�丣KMessage0202 缁欏钩鍙帮紝寮�濮嬭�冭瘯
+// final JKMessage0202 jkMessage0202 = new JKMessage0202();
+// Date date = new Date();
+// wokViewModel.updateBeginTime(date.getTime());
+// jkMessage0202.timeBCD = date;
+// ExamPlatformData.getInstance().setExam_id(Utils.parseUnsignedInt(String.valueOf(date.getTime()/1000),10));
+// if (myDialogFragment == null){
+// myDialogFragment = new MyDialogFragment();
+// }
+// myDialogFragment.show(getFragmentManager(),"dialog");
+// myDialogFragment.setCallback(new MyDialogFragment.Callback() {
+// @Override
+// public void changKao() {
+//
+// sendJK0202(2);
+// }
+//
+// @Override
+// public void luKao() {
+// sendJK0202(3);
+//
+//
+//
+// }
+// });
- break;
+// break;
case R.id.tv_stop:
Toast.makeText(_mActivity, "缁撴潫鑰冭瘯", Toast.LENGTH_SHORT).show();
stopExam();
@@ -648,7 +656,11 @@
}
break;
case R.id.btn_return:
- _mActivity.onBackPressed();
+// _mActivity.onBackPressed();
+ Log.i(TAG,"screenWidth="+ DimenUtil.getScreenWidth(_mActivity));
+ Log.i(TAG,"screenHeight="+ DimenUtil.getScreenHeight(_mActivity));
+ Log.i(TAG,"18px font ="+ DimenUtil.px2sp(_mActivity,18));
+ Log.i(TAG,"48px dp ="+ DimenUtil.px2dp(_mActivity,48));
break;
case R.id.iv_head:
MyLog.i(TAG,"绛惧埌锛岃幏鍙栬韩浠借瘉鐗╃悊鍗″彿");
@@ -708,8 +720,7 @@
item_id = 0;
currTotalScore = 100;
failedProjViewModel.deleteAll();
-
- tv_total_score.setText(String.valueOf(currTotalScore));
+ setTotalScoreText();
ExamPlatformData.getInstance().getTTS().speak("缁撴潫璁粌");
@@ -718,6 +729,16 @@
}
+ private void setTotalScoreText() {
+ String totalstr=String.format(getString(R.string.total_score),currTotalScore);
+ SpannableString msp = new SpannableString(totalstr);
+ msp.setSpan(new ForegroundColorSpan(Color.parseColor("#A1A1A3")),totalstr.length()-1,totalstr.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ msp.setSpan(new AbsoluteSizeSpan(13),totalstr.length()-1,totalstr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+
+
+ tv_total_score.setText(msp);
+ }
+
private ICEventListener icEventListener = new ICEventListener() {
@Override
public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
--
Gitblit v1.8.0