.idea/gradle.xml
@@ -3,12 +3,18 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> <compositeConfiguration> <compositeBuild compositeDefinitionSource="SCRIPT" /> </compositeConfiguration> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="modules"> <set> <option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/im_lib" /> <option value="$PROJECT_DIR$/lib" /> </set> </option> <option name="resolveModulePerSourceSet" value="false" /> <option name="testRunner" value="PLATFORM" /> </GradleProjectSettings> </option> </component> app/src/main/java/safeluck/drive/evaluation/customview/ArrowView.java
@@ -29,7 +29,7 @@ private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private float PADDING = Utils.px2dp(40); private double a = Math.toRadians(55.0); private int color = Color.parseColor("#99C3D1"); private int color = Color.parseColor("#1E4A89"); private String text = "直角转弯"; private Path textPath = new Path(); @@ -62,7 +62,7 @@ path.close(); paint.setColor(color); canvas.drawPath(path,paint); paint.setColor(Color.parseColor("#1412f6")); paint.setColor(Color.parseColor("#1E4A89")); char[] index = getKeyChar(text); Paint.FontMetrics fm = paint.getFontMetrics(); float childHeight = PADDING/text.length(); app/src/main/java/safeluck/drive/evaluation/customview/HouseView.java
@@ -28,7 +28,7 @@ private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); private float PADDING = Utils.px2dp(40); private double a = Math.toRadians(55.0); private int color = Color.parseColor("#99C3D1"); private int color = Color.parseColor("#1E4A89"); private String text ; @@ -61,7 +61,7 @@ path.close(); paint.setColor(color); canvas.drawPath(path,paint); paint.setColor(Color.parseColor("#1412f6")); paint.setColor(Color.parseColor("#1E4A89")); char[] index = getKeyChar(text); Paint.FontMetrics fm = paint.getFontMetrics(); float childHeight = PADDING/text.length(); app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -589,7 +589,6 @@ btn_start_exam.setOnClickListener(this); tv_stop = view.findViewById(R.id.tv_stop); tv_stop.setOnClickListener(this); mListView.addHeaderView(LayoutInflater.from(_mActivity).inflate(R.layout.layout_score_item, null)); } 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("进入考场结束考试,startexam="+examStatus.getStartExam()); return getResources().getColor(R.color.colorAccent); return getResources().getDrawable(R.drawable.ic_btn_fail); }else{ MyLog.i("进入考场,type="+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("该项考试失败,type="+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("该项考试失败,type="+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("该项考试失败,type="+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("该项考试失败,type="+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("该项考试失败,type="+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 发送JKMessage0202 给平台,开始考试 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 发送JKMessage0202 给平台,开始考试 // 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) { app/src/main/java/safeluck/drive/evaluation/util/DimenUtil.java
@@ -6,6 +6,7 @@ import android.graphics.Bitmap; import android.telephony.TelephonyManager; import android.util.DisplayMetrics; import android.util.Log; import android.view.Surface; import com.google.zxing.BarcodeFormat; @@ -20,6 +21,9 @@ public final class DimenUtil { private static final String TAG = "DimenUtil"; public static int getScreenWidth(Context context ) { final Resources resources = context.getResources(); @@ -72,4 +76,16 @@ return bitmap; } public static int px2dp(Context context, float pxValue) { float scale = context.getResources().getDisplayMetrics().density; Log.i(TAG,"density="+scale); return (int) (pxValue / scale + 0.5f);// + 0.5f是为了让结果四舍五入 } public static int px2sp(Context context, float pxValue) { float fontScale = context.getResources().getDisplayMetrics().scaledDensity; Log.i(TAG,"scaledDensity 1.2625="+fontScale); return (int) (pxValue / fontScale + 0.5f); } } app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -54,6 +54,10 @@ return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,value, Resources.getSystem().getDisplayMetrics()); } /** * dp值转像素 * @param dpValue app/src/main/res/drawable/btn_exam_item_bg.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ff1e4a89" /> <corners android:radius="5dp" /> </shape> app/src/main/res/drawable/ic_btn_daikao.xml
@@ -5,5 +5,5 @@ android:viewportHeight="1024"> <path android:pathData="M0,0m115.86,0l955.85,0q115.86,0 115.86,115.86l0,738.61q0,115.86 -115.86,115.86l-955.85,0q-115.86,0 -115.86,-115.86l0,-738.61q0,-115.86 115.86,-115.86Z" android:fillColor="#208AFF"/> android:fillColor="#1E4A89"/> </vector> app/src/main/res/drawable/start_exam_bg.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ffaa373e" /> <corners android:radius="26dp" /> </shape> app/src/main/res/drawable/stu_score_bg.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:width="484dp" android:height="40dp"/> <size android:width="484dp" android:height="140dp"/> <stroke android:color="#11468A" android:width="1dp"/> <corners android:radius="5dp"/> </shape> app/src/main/res/drawable/view_map_bg.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ff2b3141" /> <corners android:radius="8dp"/> </shape> app/src/main/res/drawable/view_map_font_bg.xml
New file @@ -0,0 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ff187558" /> <corners android:radius="15dp"/> </shape> app/src/main/res/layout/layout_net_train.xml
@@ -1,37 +1,41 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> android:layout_height="match_parent" android:orientation="horizontal" android:background="@drawable/stu_score_bg"> <LinearLayout android:layout_width="0dp" android:layout_weight="4" android:layout_height="match_parent" android:paddingTop="2dp" android:paddingBottom="2dp" android:paddingLeft="5dp" android:paddingRight="5dp" android:gravity="center" android:orientation="vertical" android:background="@color/train_bg" > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> android:background="@drawable/stu_score_title" android:layout_height="38dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_height="38dp" android:id="@+id/tv_item" android:background="@color/train_item_bg" android:padding="10dp" android:gravity="center_vertical" android:textColor="#FFFFFF" android:layout_marginLeft="19dp" android:drawablePadding="5dp" android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@mipmap/duobianxing" android:text="项目列表"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_toRightOf="@+id/tv_item" android:gravity="center" android:layout_marginLeft="378dp" android:padding="10dp" android:id="@+id/tv_speed" android:textColor="#A1A1A3" android:text="@string/speed"/> <TextView android:layout_width="wrap_content" @@ -40,6 +44,9 @@ android:id="@+id/tv_pos" android:padding="10dp" android:gravity="center" android:textColor="#A1A1A3" android:layout_alignParentEnd="true" android:layout_marginRight="16dp" android:text="@string/licheng"/> <TextView android:layout_width="wrap_content" @@ -48,7 +55,7 @@ android:id="@+id/tv_stop" android:textColor="@android:color/white" android:padding="10dp" android:visibility="gone" android:background="@drawable/btn_start_bg" android:layout_toRightOf="@+id/tv_pos"/> </RelativeLayout> @@ -56,5 +63,4 @@ <include layout="@layout/layout_road_train" android:visibility="gone" android:id="@+id/lukao"/> </LinearLayout> <include android:layout_gravity="center_vertical" android:layout_marginLeft="10dp" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" layout="@layout/layout_train_exit"/> </LinearLayout> app/src/main/res/layout/layout_net_train_item.xml
@@ -1,51 +1,56 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:background="@color/train_item_bg" android:gravity="bottom"> <safeluck.drive.evaluation.customview.HouseView android:layout_width="80dp" android:layout_height="80dp" android:id="@+id/hv" app:text = "倒车入库" /> <safeluck.drive.evaluation.customview.ArrowView android:layout_width="80dp" android:layout_height="80dp" android:layout_toRightOf="@+id/hv" android:id="@+id/av1" app:text="坡道定点" android:layout_marginLeft="-15dp" /> <safeluck.drive.evaluation.customview.ArrowView android:layout_width="80dp" android:layout_height="80dp" app:text="侧方停车" android:layout_marginLeft="-15dp" android:layout_toRightOf="@+id/av1" android:id="@+id/av2" /> <safeluck.drive.evaluation.customview.ArrowView android:layout_width="80dp" android:layout_height="80dp" android:id="@+id/av3" app:text="曲线行驶" android:layout_marginLeft="-15dp" android:layout_toRightOf="@id/av2" /> <safeluck.drive.evaluation.customview.ArrowView android:layout_width="80dp" android:layout_height="80dp" android:layout_marginLeft="-15dp" android:layout_toRightOf="@+id/av3" android:id="@+id/av4" app:text="直角转弯" /> </RelativeLayout> android:gravity="center_vertical"> <Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/btn_exam_item_bg" android:layout_height="48dp" android:textColor="#FFFFFF" android:layout_marginRight="@dimen/ui_margin_20dp" style="@style/ui_exam_font" android:id="@+id/hv" android:text="倒车入库"/> <Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/btn_exam_item_bg" android:layout_height="48dp" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:id="@+id/av1" android:layout_marginRight="@dimen/ui_margin_20dp" android:text="坡道定点"/> <Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/btn_exam_item_bg" android:layout_height="48dp" android:textColor="#FFFFFF" android:layout_marginRight="@dimen/ui_margin_20dp" style="@style/ui_exam_font" android:id="@+id/av2" android:text="侧方停车"/> <Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/btn_exam_item_bg" android:layout_height="48dp" android:layout_marginRight="@dimen/ui_margin_20dp" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:id="@+id/av3" android:text="曲线行驶"/><Button android:layout_width="0dp" android:layout_weight="1" android:background="@drawable/btn_exam_item_bg" android:layout_height="48dp" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:id="@+id/av4" android:text="直角转弯"/> </LinearLayout> app/src/main/res/layout/layout_road_train.xml
@@ -10,7 +10,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/train_item_bg" android:gravity="bottom"> @@ -21,26 +20,46 @@ <Button android:id="@+id/btn_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:text="@string/straight_line"/> <Button android:id="@+id/btn_2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/add_subtract"/> <Button android:id="@+id/btn_3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/pull_over"/> <Button android:id="@+id/btn_4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/by_crossing"/> <Button android:id="@+id/btn_5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:text="@string/junction_left"/> <Button android:id="@+id/btn_6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/junction_right"/> </TableRow> @@ -51,34 +70,63 @@ <Button android:id="@+id/btn_7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/crosswalk"/> <Button android:id="@+id/btn_8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/school_area"/> android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:text="@string/school_area"/> <Button android:id="@+id/btn_9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:text="@string/bus_area"/> <Button android:id="@+id/btn_10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:text="@string/turn_around"/> <Button android:id="@+id/btn_11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:visibility="gone" android:text="@string/turn_around"/> <Button android:id="@+id/btn_12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/lane_change"/> <Button android:id="@+id/btn_13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="gone" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/night_driving"/> </TableRow> <TableRow android:layout_width="wrap_content" @@ -89,12 +137,24 @@ <Button android:id="@+id/btn_14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/junction_right"/> <Button android:id="@+id/btn_15" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:background="@drawable/btn_exam_item_bg" style="@style/ui_exam_font" android:text="@string/turn_around"/> <Button android:id="@+id/btn_16" android:textColor="#FFFFFF" style="@style/ui_exam_font" android:background="@drawable/btn_exam_item_bg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pull_over"/> app/src/main/res/layout/layout_score_item.xml
@@ -11,12 +11,9 @@ android:textColor="@android:color/white" android:gravity="center" android:id="@+id/tv_item" style="@style/ui_exam_font" android:text="扣分项目"/> <View android:layout_height="match_parent" android:layout_width="1px" android:background="#2B3141" /> <TextView android:layout_width="0dp" android:layout_weight="1" @@ -24,12 +21,9 @@ android:gravity="center" android:textColor="@android:color/white" android:id="@+id/tv_score" style="@style/ui_exam_font" android:text="扣分分数"/> <View android:layout_height="match_parent" android:layout_width="1px" android:background="#2B3141" /> <TextView android:layout_width="0dp" android:layout_weight="1" @@ -37,5 +31,6 @@ android:layout_height="match_parent" android:gravity="center" android:id="@+id/tv_reason" style="@style/ui_exam_font" android:text="扣分原因"/> </LinearLayout> app/src/main/res/layout/layout_score_item_title.xml
New file @@ -0,0 +1,60 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="38dp" android:background="@drawable/stu_score_title" > <TextView android:layout_width="wrap_content" android:layout_weight="1" android:layout_height="match_parent" android:textColor="@android:color/white" android:gravity="center_vertical" android:paddingLeft="90dp" android:drawablePadding="5dp" android:id="@+id/tv_item" android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@mipmap/duobianxing" android:text="扣分项目"/> <View android:layout_height="match_parent" android:layout_width="1px" android:background="#2B3141" /> <TextView android:id="@+id/tv_score" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:paddingLeft="90dp" android:drawablePadding="5dp" android:includeFontPadding="false" android:drawableLeft="@mipmap/duobianxing" android:gravity="center_vertical" android:text="扣分分数" android:textColor="@android:color/white" android:textSize="@dimen/network_train_textsize22px" /> <View android:layout_height="match_parent" android:layout_width="1px" android:background="#2B3141" /> <TextView android:layout_width="wrap_content" android:layout_weight="1" android:includeFontPadding="false" android:textColor="@android:color/white" android:layout_height="match_parent" android:gravity="center_vertical" android:drawablePadding="5dp" android:paddingLeft="90dp" android:id="@+id/tv_reason" android:textSize="@dimen/network_train_textsize22px" android:drawableLeft="@mipmap/duobianxing" android:text="扣分原因"/> </LinearLayout> app/src/main/res/layout/layout_stu_score.xml
@@ -1,11 +1,39 @@ <?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" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/stu_score_bg"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/lv"></ListView> <include android:id="@+id/title_item" layout="@layout/layout_score_item_title"/> <LinearLayout android:layout_width="match_parent" android:layout_below="@+id/title_item" android:layout_height="wrap_content"> <ListView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:id="@+id/lv"></ListView> </LinearLayout> <LinearLayout android:layout_width="88dp" android:layout_height="48dp" android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:orientation="horizontal"> <Button android:id="@+id/btn_return" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:background="@mipmap/return_bg" android:drawableLeft="@mipmap/return_pic" android:gravity="center_vertical" android:paddingLeft="20dp" android:text="返回" android:drawablePadding="5dp" android:textColor="#FFFFFF" android:textSize="@dimen/network_train_textsize24px" /> </LinearLayout> </RelativeLayout> app/src/main/res/layout/profile_layout.xml
@@ -2,9 +2,14 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:gravity="center_vertical" android:orientation="horizontal" android:padding="5dp"> > <LinearLayout android:layout_width="457dp" android:layout_height="105dp" android:orientation="horizontal" android:background="@drawable/stu_score_bg" > <ImageView android:id="@+id/iv_head" @@ -12,187 +17,123 @@ android:layout_height="90dp" android:layout_weight="1" android:scaleType="fitCenter" android:layout_gravity="center_vertical" android:src="@drawable/head_select1" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="105dp" android:layout_weight="2" android:orientation="vertical"> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_toRightOf="@+id/iv_head" style="@style/ui_exam_font" android:text="@string/name" android:layout_weight="1" android:textColor="@android:color/white" /> <TextView android:id="@+id/tv_sex" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:layout_marginRight="10dp" android:layout_toRightOf="@+id/tv_name" style="@style/ui_exam_font" android:text="@string/sex" android:textColor="@android:color/white" /> <LinearLayout android:layout_width="0dp" android:layout_height="90dp" android:layout_marginLeft="10dp" android:layout_weight="3" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/iv_head" android:layout_weight="1" android:textSize="9sp" android:text="@string/name" android:textColor="@android:color/white" /> <TextView android:id="@+id/tv_ID" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_below="@+id/tv_name" android:layout_weight="1" android:text="@string/user_id" style="@style/ui_exam_font" android:textColor="@android:color/white" /> <TextView android:id="@+id/tv_start_time" android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:text="@string/begin_time" style="@style/ui_exam_font" android:textColor="@android:color/white" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/tv_sex" android:layout_weight="1" android:text="电子教练:高级" android:textColor="@android:color/white" android:visibility="gone" /> </LinearLayout> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="166dp" android:layout_height="105dp" android:orientation="vertical" android:id="@+id/view_map" android:layout_marginLeft="@dimen/ui_margin_10dp" android:background="@drawable/view_map_bg" > <ImageView android:layout_width="128dp" android:layout_height="78dp" android:layout_gravity="center_horizontal" android:scaleType="centerCrop" android:src="@mipmap/view_map"/> <TextView <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:layout_weight="1"> <TextView android:id="@+id/tv_sex" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_toRightOf="@+id/tv_name" android:layout_weight="1" android:textSize="9sp" android:text="@string/sex" android:textColor="@android:color/white" /> <TextView android:id="@+id/tv_use_time" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="用时:" android:textColor="@android:color/white" android:visibility="gone" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:layout_weight="1"> <TextView android:id="@+id/tv_ID" android:layout_width="0dp" android:layout_height="match_parent" android:layout_below="@+id/tv_name" android:layout_weight="2" android:text="@string/user_id" android:textSize="9sp" android:textColor="@android:color/white" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1"> <TextView android:id="@+id/tv_start_time" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="@string/begin_time" android:textSize="9sp" android:textColor="@android:color/white" /> <TextView android:id="@+id/view_map" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="查看地图" android:textColor="@android:color/white" /> </LinearLayout> android:layout_width="96dp" android:layout_height="20dp" android:gravity="center" android:layout_gravity="center" android:layout_marginTop="@dimen/ui_margin_5dp" android:text="查看地图" android:textSize="13sp" android:background="@drawable/view_map_font_bg" android:textColor="@android:color/white" /> </LinearLayout> <RelativeLayout android:visibility="gone" android:layout_width="0dp" android:layout_height="90dp" android:layout_marginLeft="10dp" android:layout_weight="1" android:gravity="center"> <LinearLayout android:id="@+id/ll_gps" android:layout_width="wrap_content" android:layout_height="40dp" android:gravity="center" android:orientation="horizontal"> <ImageView android:id="@+id/iv_gps" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/gps" /> <TextView android:id="@+id/tv_sat_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="10" android:textColor="@android:color/white" /> </LinearLayout> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ll_gps" android:id="@+id/iv_rtk_connect" android:src="@drawable/antennaxml" /> </RelativeLayout> <LinearLayout android:layout_width="0dp" android:layout_height="100dp" android:layout_width="143dp" android:layout_height="105dp" android:layout_marginLeft="10dp" android:orientation="vertical" > <LinearLayout android:layout_width="143dp" android:layout_height="60dp" android:orientation="vertical" android:gravity="center" android:layout_weight="1" android:background="@drawable/stu_score_bg"> <TextView android:id="@+id/tv_total_score" android:layout_width="90dp" android:layout_height="40dp" android:text="@string/total_score" android:gravity="center" android:orientation="vertical"> android:textSize="28sp" android:textColor="@android:color/white" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="当前训练得分" android:gravity="center" android:textColor="#ffa1a1a3" android:textSize="13sp" android:shadowDx="0" android:shadowDy="1" android:shadowRadius="3.0" android:shadowColor="#330f1329" /> </LinearLayout> <TextView android:id="@+id/tv_total_score" android:layout_width="90dp" android:layout_height="40dp" android:layout_marginTop="5dp" android:background="@android:color/holo_green_dark" android:padding="5dp" android:text="@string/total_score" android:layout_width="match_parent" android:layout_height="match_parent" android:textColor="#ffffff" android:background="@drawable/start_exam_bg" android:textSize="@dimen/network_train_textsize24px" android:gravity="center" android:textSize="20sp" android:textColor="@android:color/white" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="当前得分" android:gravity="center" android:textColor="@android:color/white" /> android:layout_marginTop="2dp" android:text="开始考试"/> </LinearLayout> </LinearLayout> app/src/main/res/mipmap-xhdpi/duobianxing.png
app/src/main/res/mipmap-xhdpi/return_bg.png
app/src/main/res/mipmap-xhdpi/return_pic.png
app/src/main/res/mipmap-xhdpi/start_exam_bg.png
app/src/main/res/mipmap-xhdpi/view_map.png
app/src/main/res/values/dimens.xml
@@ -2,6 +2,12 @@ <resources> <dimen name="bottombar_height">0dp</dimen> <dimen name="actionbarsizehalf">20dp</dimen> <dimen name="network_train_textsize">9sp</dimen> <dimen name="network_train_textsize">14sp</dimen> <dimen name="network_train_textsize22px">18sp</dimen> <dimen name="network_train_textsize20px">16sp</dimen> <dimen name="network_train_textsize24px">20sp</dimen> <dimen name="network_train_textsize16px">13sp</dimen> <dimen name="ui_margin_10dp">10dp</dimen> <dimen name="ui_margin_20dp">20dp</dimen> <dimen name="ui_margin_5dp">5dp</dimen> </resources> app/src/main/res/values/strings.xml
@@ -26,7 +26,7 @@ <string name="rtk_config_login">RTK登录结果:%1$d</string> <string name="speed">车速:%1$.2fkm/h</string> <string name="licheng">已行驶:451km</string> <string name="total_score">%1$d</string> <string name="total_score">%1$d分</string> <string name="sat_num">卫星数量</string> <string name="name">姓名:</string> <string name="sex">性别:</string> app/src/main/res/values/styles.xml
@@ -62,5 +62,9 @@ <item name="android:layout_marginRight">@dimen/ui_margin_10dp</item> </style> <style name="ui_exam_font"> <item name="android:textSize">@dimen/network_train_textsize</item> </style> </resources>