.idea/misc.xml
@@ -80,6 +80,7 @@ <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_problem_list.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_scene_account.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_scene_history.xml" value="0.33" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_scene_history_2.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_scene_list.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_scene_subinfo.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/dialog_take_evidence.xml" value="0.3338541666666667" /> @@ -132,15 +133,19 @@ <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/item_today_task.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/item_topclass_task.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/item_town_rank.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_actionbar.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_empty_load_more.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_empty_view.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_loading.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_loading_view.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_night_work_empty.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_recycler_view_refresh.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_scene_history.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_search.xml" value="0.21145833333333333" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_search_2.xml" value="0.5" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_search_bar.xml" value="0.21145833333333333" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_search_title.xml" value="0.33" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/layout_toolbar_2.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/page_patrol_icons_first.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/page_patrol_icons_second.xml" value="0.3338541666666667" /> <entry key="..\:/AndroidStudioProjects/supervision_online/branches/customer_pollution_scene/app/src/main/res/layout/recycler_item_section_head.xml" value="0.3338541666666667" /> app/build.gradle
@@ -36,6 +36,9 @@ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } buildFeatures { dataBinding true } productFlavors { } sourceSets { app/src/main/java/cn/flightfeather/thirdappmodule/adapter/TaskListHolder.java
@@ -31,11 +31,16 @@ TextView mtv_time; TextView mtv_staff; TextView mtv_check_status; // å®¡æ ¸ç¶æ ImageView img_status; // é£é©æç¤º Group group_risk_warn; TextView tv_risk_warn; // å·¡æ¥è¦ç¹ Group group_inspection_key_point; TextView tv_inspection_key_point; // åºæ¥å·¡æ¥ Group group_emergency_inspection; TextView tv_emergency_inspection; app/src/main/java/cn/flightfeather/thirdappmodule/bean/vo/DPChangeInfo.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package cn.flightfeather.thirdappmodule.bean.vo import cn.flightfeather.thirdappmodule.bean.entity.Subtask import cn.flightfeather.thirdappmodule.bean.vo.ProblemlistVo /** * åºæ¯æ´æ¹æ åµ * @date 2025/10/30 * @author feiyu02 */ class DPChangeInfo { // åä»»å¡ä¿¡æ¯ var subTasks: List<Subtask>? = null // é®é¢å表 var problems: List<ProblemlistVo>? = null // é®é¢æ° var proCount = 0 // æ´æ¹æ° var changeCount = 0 // æ´æ¹ç var changePer: Double = 0.0 // æ´æ¹èæ¶ï¼å¤©ï¼(åèæ¶æé¿çé®é¢ä½ä¸ºæç»æ´æ¹èæ¶) var changeTime: Int = 0 // æ´æ¹æç = æ´æ¹è¦æ±æå¤§èæ¶ / æ´æ¹å®é èæ¶ var changeEfficiency: Double = 0.0 } app/src/main/java/cn/flightfeather/thirdappmodule/bean/vo/DPProblemRecurrence.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package cn.flightfeather.thirdappmodule.bean.vo import cn.flightfeather.thirdappmodule.bean.entity.Problemtype /** * é®é¢é夿 åµ * @date 2025/10/30 * @author feiyu02 */ class DPProblemRecurrence { // é®é¢æ ç¾ var problemTag:String? = null // é®é¢ç±»å var problemType: Problemtype? = null // åºç°æ¬¡æ° var count = 0 // æ´æ¹æ° var changeCount = 0 // æ´æ¹ç var changePer: Double = 0.0 } app/src/main/java/cn/flightfeather/thirdappmodule/bean/vo/QueryOptSingle.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package cn.flightfeather.thirdappmodule.bean.vo /** * åä¸ªåºæ¯çºµåæ°æ®ç»è®¡äº§åæ¥è¯¢æ¡ä»¶ * @date 2025/10/30 * @author feiyu02 */ class QueryOptSingle { // åºæ¯id var sceneId: String? = null // èµ·å§æ¶é´ï¼æ ¼å¼ yyyy-MM-dd HH:mm:ss var startTime: String? = null // ç»ææ¶é´ï¼æ ¼å¼ yyyy-MM-dd HH:mm:ss var endTime: String? = null } app/src/main/java/cn/flightfeather/thirdappmodule/databinding/SceneHistoryViewModel.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,68 @@ package cn.flightfeather.thirdappmodule.databinding import android.arch.lifecycle.MutableLiveData import cn.flightfeather.thirdappmodule.bean.vo.DPChangeInfo import cn.flightfeather.thirdappmodule.bean.vo.QueryOptSingle import cn.flightfeather.thirdappmodule.common.net.ResultCallBack import cn.flightfeather.thirdappmodule.module.base.BaseViewModel import cn.flightfeather.thirdappmodule.repository.DataProdSingleSceneRepository import cn.flightfeather.thirdappmodule.util.DateUtil import org.jetbrains.anko.toast import java.util.* /** * åºæ¯å岿 åµ * @author riku * Date: 2025/10/30 */ class SceneHistoryViewModel : BaseViewModel() { private val dataProdSingleSceneRepository = DataProdSingleSceneRepository.instance // ä¸ä¸ªææ´æ¹çæå·®çæ åµ var worstChangeInfo = MutableLiveData<DPChangeInfo>() fun getChangeInfoList(sceneId: String) { val queryOpts = getQueryOptSingleList(sceneId) dataProdSingleSceneRepository.getChangeInfoList(queryOpts, object : ResultCallBack<List<DPChangeInfo>> { override fun onSuccess(result: List<DPChangeInfo>?) { if (!result.isNullOrEmpty()) { worstChangeInfo.value = result[0] } } override fun onFailure() { application.toast("è·åæ´æ¹çæ åµå¤±è´¥") } }) } private fun getQueryOptSingleList(sceneId: String): List<QueryOptSingle> { val queryOpts = mutableListOf<QueryOptSingle>() // è·ååä¸ä¸ªæçæå¤´åææ«æ¶é´ val now = Calendar.getInstance().apply { set(Calendar.DAY_OF_MONTH, 1) set(Calendar.HOUR_OF_DAY, 0) set(Calendar.MINUTE, 0) set(Calendar.SECOND, 0) } repeat(3) { val queryOptSingle = QueryOptSingle().apply { this.sceneId = sceneId } // å¾å°ä¸ææåä¸å¤© now.add(Calendar.SECOND, -1) queryOptSingle.endTime = DateUtil.getDateStr(now.time) // å¾å°ä¸æç¬¬ä¸å¤© now.apply { set(Calendar.DAY_OF_MONTH, 1) set(Calendar.HOUR_OF_DAY, 0) set(Calendar.MINUTE, 0) set(Calendar.SECOND, 0) } queryOptSingle.startTime = DateUtil.getDateStr(now.time) queryOpts.add(queryOptSingle) } return queryOpts } } app/src/main/java/cn/flightfeather/thirdappmodule/httpservice/DataProdSingleSceneService.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package cn.flightfeather.thirdappmodule.httpservice import cn.flightfeather.thirdappmodule.bean.vo.DPProblemRecurrence import cn.flightfeather.thirdappmodule.bean.vo.DPChangeInfo import cn.flightfeather.thirdappmodule.bean.vo.QueryOptSingle import cn.flightfeather.thirdappmodule.model.bean.BaseResponse import io.reactivex.Observable import retrofit2.Response import retrofit2.http.* /** * ååºæ¯çºµåæ°æ®ç»è®¡æ¥å£ * @author riku * Date: 2025/10/30 */ interface DataProdSingleSceneService { /** * è·åæ´æ¹æ åµ */ @POST("dataProd/singleScene/changeInfo/get") fun getChangeInfo( @Body queryOptSingle: QueryOptSingle ): Observable<Response<BaseResponse<DPChangeInfo>>> /** * æ¹éæ¥è¯¢æ´æ¹æ åµ */ @POST("dataProd/singleScene/changeInfo/get/list") fun getChangeInfoList( @Body queryOpts: List<QueryOptSingle> ): Observable<Response<BaseResponse<List<DPChangeInfo>>>> /** * é®é¢é夿 åµ */ @POST("dataProd/singleScene/problemRecurrence/get") fun getProblemRecurrence( @Body queryOptSingle: QueryOptSingle ): Observable<Response<BaseResponse<DPProblemRecurrence>>> } app/src/main/java/cn/flightfeather/thirdappmodule/repository/DataProdSingleSceneRepository.kt
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,77 @@ package cn.flightfeather.thirdappmodule.repository import cn.flightfeather.thirdappmodule.bean.vo.DPChangeInfo import cn.flightfeather.thirdappmodule.bean.vo.DPProblemRecurrence import cn.flightfeather.thirdappmodule.bean.vo.QueryOptSingle import cn.flightfeather.thirdappmodule.common.net.ResultCallBack import cn.flightfeather.thirdappmodule.common.net.ResultObserver import cn.flightfeather.thirdappmodule.common.net.RetrofitFactory import cn.flightfeather.thirdappmodule.httpservice.DataProdSingleSceneService import cn.flightfeather.thirdappmodule.model.bean.BaseResponse /** * @author riku * Date: 2025/10/30 */ class DataProdSingleSceneRepository { companion object { @JvmStatic val instance:DataProdSingleSceneRepository by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { DataProdSingleSceneRepository()} } val retrofit = RetrofitFactory.instance.retrofit /** * è·åæ´æ¹æ åµ */ fun getChangeInfo(queryOptSingle: QueryOptSingle, resultCallBack: ResultCallBack<DPChangeInfo>) { val service = retrofit.create(DataProdSingleSceneService::class.java).getChangeInfo(queryOptSingle) RetrofitFactory.executeResult(service, object : ResultObserver<BaseResponse<DPChangeInfo>>() { override fun onSuccess(result: BaseResponse<DPChangeInfo>?) { resultCallBack.onSuccess(result?.data) } override fun onFailure(e: Throwable, isNetWorkError: Boolean) { resultCallBack.onFailure() } }) } /** * æ¹éæ¥è¯¢æ´æ¹æ åµ */ fun getChangeInfoList(queryOpts: List<QueryOptSingle>, resultCallBack: ResultCallBack<List<DPChangeInfo>>) { val service = retrofit.create(DataProdSingleSceneService::class.java).getChangeInfoList(queryOpts) RetrofitFactory.executeResult(service, object : ResultObserver<BaseResponse<List<DPChangeInfo>>>() { override fun onSuccess(result: BaseResponse<List<DPChangeInfo>>?) { resultCallBack.onSuccess(result?.data) } override fun onFailure(e: Throwable, isNetWorkError: Boolean) { resultCallBack.onFailure() } }) } /** * é®é¢é夿 åµ */ fun getProblemRecurrence(queryOptSingle: QueryOptSingle, resultCallBack: ResultCallBack<DPProblemRecurrence>) { val service = retrofit.create(DataProdSingleSceneService::class.java).getProblemRecurrence(queryOptSingle) RetrofitFactory.executeResult(service, object : ResultObserver<BaseResponse<DPProblemRecurrence>>() { override fun onSuccess(result: BaseResponse<DPProblemRecurrence>?) { resultCallBack.onSuccess(result?.data) } override fun onFailure(e: Throwable, isNetWorkError: Boolean) { resultCallBack.onFailure() } }) } } app/src/main/res/layout/dialog_scene_history_2.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,167 @@ <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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"> <android.support.v7.widget.CardView android:id="@+id/cv_dialog_main" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="12dp" android:layout_marginTop="30dp" android:layout_marginRight="12dp" android:layout_marginBottom="40dp" app:cardCornerRadius="6dp" app:cardElevation="7dp"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="30dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_risk_warn" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/icon_task_alert" android:layout_marginBottom="@dimen/dimen4" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" app:layout_constraintBottom_toBottomOf="@id/tv_risk_warn" android:contentDescription="é£é©æç¤º" /> <TextView android:id="@+id/tv_risk_warn" android:layout_width="0dp" android:layout_height="30dp" android:textColor="@color/red_btn_bg_color" android:textSize="@dimen/textSize_18" android:textStyle="bold" app:layout_constraintStart_toEndOf="@id/img_risk_warn" app:layout_constraintTop_toTopOf="parent" android:text="é£é©æç¤º" /> <TextView android:id="@+id/tv_change_rate" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" android:paddingStart="20dp" android:paddingEnd="0dp" tools:text="æ´æ¹çæ åµï¼å¦ææ´æ¹çè¾ä½ï¼åä½ä¸ºé£é©æç¤ºå±ç¤º" app:layout_constraintTop_toBottomOf="@id/tv_risk_warn"/> <TextView android:id="@+id/tv_change_efficiency" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" android:paddingStart="20dp" android:paddingEnd="0dp" tools:text="æ´æ¹æçæ åµï¼æ´æ¹æçä¸ºè¦æ±æ´æ¹çæéï¼å¤©æ°ï¼é¤ä»¥å®é æ´æ¹çç¨æ¶ï¼å¤©æ°ï¼ï¼å¦ææçä½äº60%ï¼åä½ä¸ºé£é©æç¤ºå±ç¤º" app:layout_constraintTop_toBottomOf="@id/tv_change_rate"/> <TextView android:id="@+id/tv_problem_recurrence" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" android:paddingStart="20dp" android:paddingEnd="0dp" tools:text="é®é¢å¤åæ åµï¼è¥åä¸ä¸ªæå æç¸åç±»åçé®é¢åºç°ä¸¤æ¬¡å以䏿¶ï¼æéå±ç¤ºï¼å¹¶ç»åºå¯¹åºçæ´æ¹ç" app:layout_constraintTop_toBottomOf="@id/tv_change_efficiency"/> </android.support.constraint.ConstraintLayout> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_inspection_key_point" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/icon_consult" android:layout_marginBottom="@dimen/dimen4" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" app:layout_constraintBottom_toBottomOf="@id/tv_inspection_key_point" android:contentDescription="å·¡æ¥è¦ç¹" /> <TextView android:id="@+id/tv_inspection_key_point" android:layout_width="0dp" android:layout_height="30dp" android:textColor="@color/primary_text" android:textSize="@dimen/textSize_18" app:layout_constraintStart_toEndOf="@id/img_inspection_key_point" app:layout_constraintTop_toTopOf="parent" android:text="å·¡æ¥è¦ç¹" /> <TextView android:id="@+id/tv_change_rate" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" android:paddingStart="20dp" android:paddingEnd="0dp" tools:text="å·¡æ¥è¦ç¹ï¼æ³¨æéè¦æ£æ¥çä½ç½®ã设å¤åé®é¢ç" app:layout_constraintTop_toBottomOf="@id/img_inspection_key_point"/> </android.support.constraint.ConstraintLayout> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_risk_warn" android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ic_emergency" android:layout_marginBottom="@dimen/dimen4" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" app:layout_constraintBottom_toBottomOf="@id/tv_risk_warn" android:contentDescription="åºæ¥å·¡æ¥" /> <TextView android:id="@+id/tv_risk_warn" android:layout_width="0dp" android:layout_height="30dp" android:textColor="@color/primary_text" android:textSize="@dimen/textSize_18" app:layout_constraintStart_toEndOf="@id/img_risk_warn" app:layout_constraintTop_toTopOf="parent" android:text="åºæ¥å·¡æ¥" /> </android.support.constraint.ConstraintLayout> </LinearLayout> </ScrollView> </android.support.v7.widget.CardView> <android.support.design.widget.FloatingActionButton android:id="@+id/fab_close" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@string/cancel" android:src="@drawable/icon_close_white" app:elevation="8dp" app:fabSize="normal" app:layout_anchor="@id/cv_dialog_main" app:layout_anchorGravity="bottom|center" /> </android.support.design.widget.CoordinatorLayout> app/src/main/res/layout/fragment_inspection_content.xml
@@ -14,123 +14,6 @@ android:layout_alignParentTop="true" android:layout_marginBottom="20dp" /> <TextView android:id="@+id/scene_status" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="230dp" android:background="@drawable/shape_yellow" android:drawableStart="@drawable/ic_group_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="@string/scene_status" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <TextView android:id="@+id/scene_detail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="230dp" android:background="@drawable/shape_yellow" android:drawableStart="@drawable/ic_info_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="ç¹ä½æ åµ" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <TextView android:id="@+id/user_account" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="188dp" android:background="@drawable/shape_green" android:drawableStart="@drawable/ic_group_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="ç¨æ·è´¦å·" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <LinearLayout android:visibility="visible" android:id="@+id/ll_patrol_icons" android:layout_width="match_parent" android:layout_height="180dp" android:layout_alignParentBottom="true" android:background="@drawable/shap_stroke_top" android:orientation="vertical"> <LinearLayout android:id="@+id/ll_patrol_hide" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:foreground="?android:attr/selectableItemBackground" android:gravity="center"> <ImageView android:id="@+id/imageView5" android:layout_width="36dp" android:layout_height="20dp" android:layout_marginBottom="1dp" android:layout_marginTop="3dp" android:padding="3dp" android:scaleType="fitXY" android:src="@drawable/icon_hide" /> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/vp_patrol_icons" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="2"> </android.support.v4.view.ViewPager> <ImageView android:id="@+id/iv_patrol_pointer" android:layout_width="20dp" android:layout_height="20dp" android:adjustViewBounds="true" android:src="@drawable/select_first_point" android:layout_gravity="center_horizontal" /> </LinearLayout> <LinearLayout android:id="@+id/ll_patrol_show" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:foreground="?android:attr/selectableItemBackground" android:layout_alignParentBottom="true" android:background="@drawable/shap_stroke_top" android:gravity="center_horizontal"> <ImageView android:src="@drawable/icon_hide" android:layout_width="36dp" android:rotation="180" android:layout_height="20dp" android:padding="3dp" android:scaleType="fitXY" android:layout_gravity="center"/> </LinearLayout> <RelativeLayout android:visibility="visible" android:elevation="1dp" @@ -138,7 +21,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:layout_alignParentTop="true" android:layout_alignParentStart="true"> @@ -414,7 +296,7 @@ android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:orientation="horizontal" android:visibility="gone"> android:visibility="visible"> <TextView android:layout_width="wrap_content" @@ -439,6 +321,121 @@ </LinearLayout> </LinearLayout> <TextView android:id="@+id/scene_status" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="230dp" android:background="@drawable/shape_yellow" android:drawableStart="@drawable/ic_group_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="@string/scene_status" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <TextView android:id="@+id/scene_detail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="230dp" android:background="@drawable/shape_yellow" android:drawableStart="@drawable/ic_info_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="ç¹ä½æ åµ" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <TextView android:id="@+id/user_account" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentEnd="true" android:layout_alignParentBottom="true" android:layout_marginBottom="188dp" android:background="@drawable/shape_green" android:drawableStart="@drawable/ic_group_black_24dp" android:drawableTint="@color/white" android:elevation="@dimen/dimen4" android:foreground="?android:attr/selectableItemBackground" android:gravity="center" android:padding="@dimen/dimen4" android:text="ç¨æ·è´¦å·" android:textColor="@color/white" tools:ignore="UnusedAttribute" /> <LinearLayout android:visibility="visible" android:id="@+id/ll_patrol_icons" android:layout_width="match_parent" android:layout_height="180dp" android:layout_alignParentBottom="true" android:background="@drawable/shap_stroke_top" android:orientation="vertical"> <LinearLayout android:id="@+id/ll_patrol_hide" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:foreground="?android:attr/selectableItemBackground" android:gravity="center"> <ImageView android:id="@+id/imageView5" android:layout_width="36dp" android:layout_height="20dp" android:layout_marginBottom="1dp" android:layout_marginTop="3dp" android:padding="3dp" android:scaleType="fitXY" android:src="@drawable/icon_hide" /> </LinearLayout> <android.support.v4.view.ViewPager android:id="@+id/vp_patrol_icons" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="2"> </android.support.v4.view.ViewPager> <ImageView android:id="@+id/iv_patrol_pointer" android:layout_width="20dp" android:layout_height="20dp" android:adjustViewBounds="true" android:src="@drawable/select_first_point" android:layout_gravity="center_horizontal" /> </LinearLayout> <LinearLayout android:id="@+id/ll_patrol_show" android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" android:foreground="?android:attr/selectableItemBackground" android:layout_alignParentBottom="true" android:background="@drawable/shap_stroke_top" android:gravity="center_horizontal"> <ImageView android:src="@drawable/icon_hide" android:layout_width="36dp" android:rotation="180" android:layout_height="20dp" android:padding="3dp" android:scaleType="fitXY" android:layout_gravity="center"/> </LinearLayout> </RelativeLayout> app/src/main/res/layout/layout_scene_history.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,151 @@ <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="30dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_risk_warn" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginBottom="@dimen/dimen4" android:contentDescription="é£é©æç¤º" android:src="@drawable/icon_task_alert" app:layout_constraintBottom_toBottomOf="@id/tv_risk_warn" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" /> <TextView android:id="@+id/tv_risk_warn" android:layout_width="0dp" android:layout_height="30dp" android:text="é£é©æç¤º" android:textColor="@color/red_btn_bg_color" android:textSize="@dimen/textSize_18" android:textStyle="bold" app:layout_constraintStart_toEndOf="@id/img_risk_warn" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tv_change_rate" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="0dp" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" app:layout_constraintTop_toBottomOf="@id/tv_risk_warn" tools:text="æ´æ¹çæ åµï¼å¦ææ´æ¹çè¾ä½ï¼åä½ä¸ºé£é©æç¤ºå±ç¤º" /> <TextView android:id="@+id/tv_change_efficiency" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="0dp" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" app:layout_constraintTop_toBottomOf="@id/tv_change_rate" tools:text="æ´æ¹æçæ åµï¼æ´æ¹æçä¸ºè¦æ±æ´æ¹çæéï¼å¤©æ°ï¼é¤ä»¥å®é æ´æ¹çç¨æ¶ï¼å¤©æ°ï¼ï¼å¦ææçä½äº60%ï¼åä½ä¸ºé£é©æç¤ºå±ç¤º" /> <TextView android:id="@+id/tv_problem_recurrence" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="0dp" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" app:layout_constraintTop_toBottomOf="@id/tv_change_efficiency" tools:text="é®é¢å¤åæ åµï¼è¥åä¸ä¸ªæå æç¸åç±»åçé®é¢åºç°ä¸¤æ¬¡å以䏿¶ï¼æéå±ç¤ºï¼å¹¶ç»åºå¯¹åºçæ´æ¹ç" /> </android.support.constraint.ConstraintLayout> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_inspection_key_point" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginBottom="@dimen/dimen4" android:contentDescription="å·¡æ¥è¦ç¹" android:src="@drawable/icon_consult" app:layout_constraintBottom_toBottomOf="@id/tv_inspection_key_point" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" /> <TextView android:id="@+id/tv_inspection_key_point" android:layout_width="0dp" android:layout_height="30dp" android:text="å·¡æ¥è¦ç¹" android:textColor="@color/primary_text" android:textSize="@dimen/textSize_18" app:layout_constraintStart_toEndOf="@id/img_inspection_key_point" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/tv_change_rate" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="0dp" android:textColor="@color/main_color_1" android:textSize="@dimen/textSize_16" app:layout_constraintTop_toBottomOf="@id/tv_inspection_key_point" tools:text="å·¡æ¥è¦ç¹ï¼æ³¨æéè¦æ£æ¥çä½ç½®ã设å¤åé®é¢ç" /> </android.support.constraint.ConstraintLayout> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/dimen16"> <ImageView android:id="@+id/img_risk_warn" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginBottom="@dimen/dimen4" android:contentDescription="åºæ¥å·¡æ¥" android:src="@drawable/ic_emergency" app:layout_constraintBottom_toBottomOf="@id/tv_risk_warn" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tv_risk_warn" /> <TextView android:id="@+id/tv_risk_warn" android:layout_width="0dp" android:layout_height="30dp" android:text="åºæ¥å·¡æ¥" android:textColor="@color/primary_text" android:textSize="@dimen/textSize_18" app:layout_constraintStart_toEndOf="@id/img_risk_warn" app:layout_constraintTop_toTopOf="parent" /> </android.support.constraint.ConstraintLayout> </LinearLayout> </ScrollView> </android.support.design.widget.CoordinatorLayout>