From dfd4367d5c4a64743b2a842602a94578b993fdde Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期三, 22 四月 2020 09:27:15 +0800 Subject: [PATCH] 完成所有页面基础,还需完善细节 --- app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java | 119 +++++++++++++++++++++++++++++++++++------------------------ 1 files changed, 71 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java index 4413c8a..40c1934 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java @@ -2,8 +2,11 @@ import android.content.Context; import android.content.Intent; +import android.graphics.Color; import android.net.Uri; import android.os.Bundle; + +import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; @@ -11,6 +14,10 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.style.AbsoluteSizeSpan; +import android.text.style.ForegroundColorSpan; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -43,9 +50,11 @@ import safeluck.drive.evaluation.DB.rtktb.RTKConfigViewModel; import safeluck.drive.evaluation.MainActivity; import safeluck.drive.evaluation.R; +import safeluck.drive.evaluation.adapter.BaseDataInfoAdapter; import safeluck.drive.evaluation.adapter.GpsInfoAdapter; import safeluck.drive.evaluation.adapter.QuickAdapter; import safeluck.drive.evaluation.adapter.WrapContentLinearLayoutManager; +import safeluck.drive.evaluation.bean.BaseDataUIBean; import safeluck.drive.evaluation.bean.ExamPlatformData; import safeluck.drive.evaluation.bean.MCUInfo; import safeluck.drive.evaluation.cEventCenter.CEventCenter; @@ -67,6 +76,9 @@ private Gson gson = new Gson(); private RTKConfig mRtkConfig; private AppStatus appStatus; + private SpannableString spannableString; + private String versionDes; + private String version; private AppStatusViewModel appStatusViewModel; private ICEventListener icEventListener = new ICEventListener() { @Override @@ -82,13 +94,21 @@ fields[i].setAccessible(true); try { if (fields[i].getName().equalsIgnoreCase("version")){ - String version = (String) fields[i].get(mcuInfo); + version= (String) fields[i].get(mcuInfo); version = new String(BytesUtils.hexStringToBytes(version),"GBK"); - datas.add("鐗堟湰鍙凤細" + version+"#"+ BuildConfig.VERSION_NAME); + versionDes= "鐗堟湰鍙凤細"; + version = version+"#"+ BuildConfig.VERSION_NAME; + version = versionDes+version; + spannableString = new SpannableString(version); + spannableString.setSpan(new AbsoluteSizeSpan(22),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#A8AAA7")),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new AbsoluteSizeSpan(28),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + datas.add(new BaseDataUIBean( spannableString,R.mipmap.version_pic)); }else if(fields[i].getName().equalsIgnoreCase("sn")){ - datas.add( "璁惧搴忓垪鍙凤細" + fields[i].get(mcuInfo)); + setitemInfo("璁惧搴忓垪鍙凤細", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.device_sn); }else if(fields[i].getName().equalsIgnoreCase("selftest")){ - datas.add( "鑷鐘舵�侊細" + fields[i].get(mcuInfo)); + setitemInfo("鑷鐘舵�侊細", String.valueOf(fields[i].get(mcuInfo)),R.mipmap.auto_check_status); } } catch (IllegalAccessException e) { @@ -102,16 +122,17 @@ public void run() { if (mRtkConfig != null){ - datas.add("鐪両D锛�"+mRtkConfig.getProvince()); - datas.add("甯侷D锛�"+mRtkConfig.getCity()); - datas.add("RTK骞冲彴鍦板潃锛�"+mRtkConfig.getIp()+":"+mRtkConfig.getPort()); + setitemInfo("鐪両D锛�", String.valueOf(mRtkConfig.getProvince()),R.mipmap.province_id); + setitemInfo("甯侷D锛�", String.valueOf(mRtkConfig.getCity()),R.mipmap.province_id); + setitemInfo("RTK骞冲彴鍦板潃锛�", mRtkConfig.getIp()+":"+mRtkConfig.getPort(),R.mipmap.platform_pic); + setitemInfo("鑰冭瘯骞冲彴鍦板潃锛�",ExamPlatformData.getInstance().getPlatformIP() + +":"+ExamPlatformData.getInstance().getPlatformPort(),R.mipmap.platform_pic); - datas.add("鑰冭瘯骞冲彴鍦板潃锛�"+ExamPlatformData.getInstance().getPlatformIP()+":"+ExamPlatformData.getInstance().getPlatformPort()); } if (appStatus != null){ - datas.add("RTK骞冲彴鐘舵�侊細"+(appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�")); - datas.add("鑰冭瘯骞冲彴鐘舵�侊細"+ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus())); + setitemInfo("RTK骞冲彴鐘舵�侊細", appStatus.getRtk_connect_status()==1?(appStatus.getRtk_login_code()==0?"宸茬櫥褰�":"鏈櫥褰�"):"鏈繛鎺�",R.mipmap.province_id); + setitemInfo("鑰冭瘯骞冲彴鐘舵�侊細", ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus()),R.mipmap.province_id); } gpsInfoAdapter.addAll(datas); } @@ -122,16 +143,25 @@ } }; + private void setitemInfo(String des, String str, int id){ + versionDes=des; + version= versionDes+str; + spannableString = new SpannableString(version); + spannableString.setSpan(new AbsoluteSizeSpan(22),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#A8AAA7")),0,versionDes.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new AbsoluteSizeSpan(28),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FFFFFF")),versionDes.length()-1,version.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); + datas.add(new BaseDataUIBean( spannableString,id)); + } + public static SupportFragment newInstance() { return new BaseDatasFragment(); } - private List<String> datas = new ArrayList<>(); - private RecyclerView recyclerView; + private List<BaseDataUIBean> datas = new ArrayList<>(); private ListView lv; - private GpsInfoAdapter gpsInfoAdapter; - private List<String> gpsinfos = new ArrayList<>(); + private BaseDataInfoAdapter gpsInfoAdapter; @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -145,53 +175,39 @@ View headView = inflater.inflate(R.layout.inspect_signal_head,null); lv.addFooterView(footView); lv.addHeaderView(headView); - footView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { -// SetArgumentsFragment setArgumentsFragment = findFragment(SetArgumentsFragment.class); -// if (setArgumentsFragment == null){ -// setArgumentsFragment = SetArgumentsFragment.newInstance(); -// } - ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance()); - - } - }); - headView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance()); - - } - }); + footView.setOnClickListener(v -> ((BaseSettingFragment)getParentFragment()).startBrotherFragment(SetArgumentsFragment.newInstance())); + headView.setOnClickListener(v -> ((BaseSettingFragment)getParentFragment()).startBrotherFragment(InspectSignalFragment.newInstance())); RTKConfigViewModel rtkConfigViewModel= ViewModelProviders.of(this).get(RTKConfigViewModel.class); - rtkConfigViewModel.getRTKConfig().observe(this, new Observer<RTKConfig>() { - @Override - public void onChanged(RTKConfig rtkConfig) { - if (rtkConfig != null){ - Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); - mRtkConfig = rtkConfig; - } - - + rtkConfigViewModel.getRTKConfig().observe(this, rtkConfig -> { + if (rtkConfig != null){ + Log.i(TAG, "RTKConfig Changed: "+rtkConfig.toString()); + mRtkConfig = rtkConfig; } + + }); appStatusViewModel = ViewModelProviders.of(this).get(AppStatusViewModel.class); - appStatusViewModel.getAppStatus().observe(this, new Observer<AppStatus>() { - @Override - public void onChanged(AppStatus ppStatus) { - if (ppStatus != null){ - appStatus = ppStatus; - } + appStatusViewModel.getAppStatus().observe(this, ppStatus -> { + if (ppStatus != null){ + appStatus = ppStatus; } }); return view; } private void initView(View view) { + Log.i(TAG,"currTopFragment="+getTopFragment().getClass().getSimpleName()); + if (HomeFragment.class.getSimpleName().equals(getTopFragment().getClass().getSimpleName())){ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + }else{ + ((MainActivity)_mActivity).viewtitle.setVisibility(View.VISIBLE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.VISIBLE); + } lv = view.findViewById(R.id.lv_gpsinfo); - gpsInfoAdapter = new GpsInfoAdapter(_mActivity); + gpsInfoAdapter = new BaseDataInfoAdapter(_mActivity); lv.setAdapter(gpsInfoAdapter); } @@ -206,4 +222,11 @@ super.onDetach(); CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_MCUINFO_TOPIC); } + + @Override + public void onDestroyView() { + super.onDestroyView(); + ((MainActivity)_mActivity).viewtitle.setVisibility(View.GONE); + ((MainActivity)_mActivity).btn_return.setVisibility(View.GONE); + } } -- Gitblit v1.8.0