From fc4931ed9dc64cb26afe46520335f3f0c314dec1 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期日, 26 四月 2020 09:11:25 +0800
Subject: [PATCH] 自定义checkbox

---
 app/src/main/res/layout/layout_signal_config.xml                               |   31 ++-----
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                  |   25 ------
 app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt     |   40 ++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java |   34 -------
 app/src/main/res/layout/layout_signal_conf_item.xml                            |   53 ++++++-------
 5 files changed, 77 insertions(+), 106 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index 1593fe3..9cf5b06 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -271,32 +271,7 @@
         CEventCenter.onBindEvent(false, icEventListener, Constant.BIND_CONNECT_RTK_TOPIC);
         Log.i(TAG, "onDestroy: ");
     }
-    private void sendSignalConfigsToRemote() {
-        if (signalConfiglist.size()>0){
-            new AsyncTask<Void, Void, List<Integer>>(
 
-            ) {
-                @Override
-                protected List<Integer> doInBackground(Void... voids) {
-                    return   signalConfigViewModel.getAllIndexs();
-                }
-
-                @Override
-                protected void onPostExecute(List<Integer> indexs) {
-                    if (listContainsSameValue(indexs)){
-                        Log.i(TAG, "sendSignalConfigsToRemote: 鏈夌浉鍚岀殑index锛屼笉鑳藉彂閫�"+gson.toJson(signalConfiglist));
-                        Toast.makeText(getApplicationContext(), "涓嶈兘鏈夌浉鍚岀殑鐗╃悊鎵�寮曪紒", Toast.LENGTH_SHORT).show();
-                    }else{
-                        AYSdk.getInstance().sendCmd(Constant.SEND_CONFIG_SIGNAL,gson.toJson(signalConfiglist));
-                    }
-                }
-            }.execute();
-
-        }
-
-
-
-    }
 
     @Override
     protected void onResume() {
diff --git a/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt
new file mode 100644
index 0000000..1288ef8
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/customview/MyCustomCheckbox.kt
@@ -0,0 +1,40 @@
+package safeluck.drive.evaluation.customview
+
+import android.content.Context
+import android.graphics.Canvas
+import android.util.AttributeSet
+import android.view.Gravity
+import android.widget.CheckBox
+
+/**
+ *
+ * @ProjectName: DriveJudge
+ * @Package: safeluck.drive.evaluation.customview
+ * @ClassName: MyCustomCheckbox
+ * @Description: java绫讳綔鐢ㄦ弿杩�
+ * @Author: 鏉庡崰浼�
+ * @CreateDate: 2020-04-24 13:17
+ * @UpdateUser: 鏇存柊鑰�
+ * @UpdateDate: 2020-04-24 13:17
+ * @UpdateRemark: 鏇存柊璇存槑
+ * @Version: 1.0
+ */
+
+class MyCustomCheckbox :CheckBox{
+    constructor(context:Context):this(context,null)
+    constructor(context:Context,attrs:AttributeSet?):this(context,attrs,0)
+    constructor(context:Context,attrs:AttributeSet?,defStyleAttr:Int):  super(context,attrs,defStyleAttr)
+
+    override fun onDraw(canvas: Canvas?) {
+        super.onDraw(canvas)
+        var drawables = compoundDrawables
+        var drawable = drawables[0]
+        var gravity = gravity
+        var left = 0
+        if (Gravity.CENTER== gravity){
+            left = (((getWidth() - drawable.getIntrinsicWidth() - getPaint().measureText(getText().toString()))
+                    / 2).toInt())
+        }
+        drawable.setBounds(left, 0, left + drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight())
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
index 5194ddc..0b12f1c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/SignalConfigFragment.java
@@ -105,10 +105,7 @@
         mToobar = view.findViewById(R.id.toolbar);
         linearLayout = view.findViewById(R.id.ll_container);
         mToobar.setTitle("淇″彿閰嶇疆");
-        listView =new ListView(_mActivity);
-        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
-        listView.setLayoutParams(layoutParams);
-        linearLayout.addView(listView);
+        listView =view.findViewById(R.id.lv_signalconf);
         listView.setDivider(null);
         final MySignalsAdapter mySignalsAdapter = new MySignalsAdapter(_mActivity);
 
@@ -190,39 +187,20 @@
 
                     }
                 });
-                viewHolder.checkBox4.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-                    @Override
-                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                        SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox4.getTag();
-                        signalConfigBean.setFour(isChecked);
-
-                    }
-                });viewHolder.checkBox2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-                    @Override
-                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                        SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox2.getTag();
-                        signalConfigBean.setTwo(isChecked);
-                    }
-                });viewHolder.checkBox1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-                    @Override
-                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                viewHolder.checkBox1.setOnCheckedChangeListener((buttonView,isChecked)-> {
                         SignalConfigBean signalConfigBean = (SignalConfigBean) viewHolder.checkBox1.getTag();
                         signalConfigBean.setOne(isChecked);
                         signalConfigViewModel.updateHightlevel(isChecked?1:0,position*2);
 
-                    }
+
                 });
                 convertView.setTag(viewHolder);
                 viewHolder.checkBox1.setTag(signalConfiglist.get(position));
-                viewHolder.checkBox2.setTag(signalConfiglist.get(position));
                 viewHolder.checkBox3.setTag(signalConfiglist.get(position));
-                viewHolder.checkBox4.setTag(signalConfiglist.get(position));
             }else {
                 viewHolder = (ViewHolder) convertView.getTag();
                 viewHolder.checkBox1.setTag(signalConfiglist.get(position));
-                viewHolder.checkBox2.setTag(signalConfiglist.get(position));
                 viewHolder.checkBox3.setTag(signalConfiglist.get(position));
-                viewHolder.checkBox4.setTag(signalConfiglist.get(position));
             }
             viewHolder.editText1.setTag(position*2);
             viewHolder.editText2.setTag((position*2+1));
@@ -238,18 +216,14 @@
             viewHolder.editText2.setText(String.valueOf(signalConfigItem.getPort_two()));
 
             viewHolder.checkBox1.setChecked(signalConfigItem.isOne());
-            viewHolder.checkBox2.setChecked(signalConfigItem.isTwo());
             viewHolder.checkBox3.setChecked(signalConfigItem.isThree());
-            viewHolder.checkBox4.setChecked(signalConfigItem.isFour());
             return convertView;
         }
 
 
          class ViewHolder{
             CheckBox checkBox1;
-            CheckBox checkBox2;
             CheckBox checkBox3;
-            CheckBox checkBox4;
             EditText editText1;
             EditText editText2;
             TextView textView1;
@@ -258,9 +232,7 @@
 
             public ViewHolder(final View convertView) {
                 checkBox1 = convertView.findViewById(R.id.signal_check_1);
-                checkBox2 = convertView.findViewById(R.id.signal_check_2);
                 checkBox3 = convertView.findViewById(R.id.signal_check_3);
-                checkBox4 = convertView.findViewById(R.id.signal_check_4);
 
                 editText1 = convertView.findViewById(R.id.et_signal1_port);
                 editText2 = convertView.findViewById(R.id.et_signal2_port);
diff --git a/app/src/main/res/layout/layout_signal_conf_item.xml b/app/src/main/res/layout/layout_signal_conf_item.xml
index 8744c98..3ee743f 100644
--- a/app/src/main/res/layout/layout_signal_conf_item.xml
+++ b/app/src/main/res/layout/layout_signal_conf_item.xml
@@ -1,43 +1,40 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:gravity="center"
-
-    android:layout_height="100dp">
+    android:paddingBottom="8dp"
+    android:gravity="center_vertical"
+    android:layout_height="50dp">
 <TextView
     android:layout_width="0dp"
     android:layout_weight="1"
     android:id="@+id/tv_signal_1"
     android:textColor="@android:color/white"
-    android:layout_height="wrap_content"
+    android:layout_height="32dp"
+    android:textAlignment="center"
+    android:gravity="center_vertical"
     android:textSize="@dimen/network_train_textsize22px"
-    android:gravity="center"
     android:text="鍠囧彮"/>
     <EditText
         android:layout_width="0dp"
-        android:textColor="@android:color/white"
         android:layout_weight="1"
+        android:textColor="@android:color/white"
         android:gravity="center"
-        android:layout_height="wrap_content"
+        android:layout_height="32dp"
         android:id="@+id/et_signal1_port"
         android:background="@drawable/tv_des_bg"
         android:textSize="@dimen/network_train_textsize22px"
         android:text="0"/>
-    <CheckBox
-        android:layout_width="0dp"
-        android:layout_weight="1"
-        android:layout_gravity="center"
-        android:id="@+id/signal_check_1"
-
-        android:layout_height="wrap_content"
-        android:checked="true"/>
-    <CheckBox
+    <safeluck.drive.evaluation.customview.MyCustomCheckbox
         android:layout_width="0dp"
         android:layout_weight="1"
         android:gravity="center"
-        android:id="@+id/signal_check_2"
-        android:layout_height="wrap_content"
+        android:button="@null"
+        android:layout_gravity="center_vertical"
+        android:drawableStart="@drawable/ic_check"
+        android:id="@+id/signal_check_1"
+        android:layout_height="@dimen/ui_margin_30dp"
         android:checked="true"/>
+
     <TextView
         android:layout_width="0dp"
         android:layout_weight="1"
@@ -45,7 +42,7 @@
         android:textSize="@dimen/network_train_textsize22px"
         android:gravity="center"
         android:id="@+id/tv_signal_2"
-        android:layout_height="wrap_content"
+        android:layout_height="32dp"
         android:text="鍠囧彮"/>
     <EditText
         android:layout_width="0dp"
@@ -55,18 +52,16 @@
         android:textSize="@dimen/network_train_textsize22px"
         android:background="@drawable/tv_des_bg"
         android:id="@+id/et_signal2_port"
-        android:layout_height="wrap_content"
+        android:layout_height="32dp"
         android:text="0"/>
-    <CheckBox
-        android:layout_width="0dp"
+    <safeluck.drive.evaluation.customview.MyCustomCheckbox
+        android:layout_width="wrap_content"
         android:layout_weight="1"
+        android:button="@null"
+        android:drawableStart="@drawable/ic_check"
+        android:gravity="center"
         android:id="@+id/signal_check_3"
-        android:layout_height="wrap_content"
+        android:layout_height="@dimen/ui_margin_30dp"
         android:checked="true"/>
-    <CheckBox
-        android:layout_width="0dp"
-        android:layout_weight="1"
-        android:id="@+id/signal_check_4"
-        android:layout_height="wrap_content"
-        android:checked="true"/>
+
 </LinearLayout>
diff --git a/app/src/main/res/layout/layout_signal_config.xml b/app/src/main/res/layout/layout_signal_config.xml
index be5a07b..b790120 100644
--- a/app/src/main/res/layout/layout_signal_config.xml
+++ b/app/src/main/res/layout/layout_signal_config.xml
@@ -6,10 +6,9 @@
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:id="@+id/ll_container"
-    android:layout_marginLeft="@dimen/ui_margin_10dp"
-    android:layout_marginRight="@dimen/ui_margin_10dp"
+
     android:layout_marginBottom="@dimen/ui_margin_25dp"
-    android:background="@drawable/stu_score_bg"
+
     >
     <include layout="@layout/toolbar"/>
 <LinearLayout
@@ -26,7 +25,7 @@
     android:gravity="center"
     android:textSize="15sp"
     android:textColor="#ff888995"
-    android:text="淇″彿鍚嶇О"/>
+    android:text="鐗╃悊閫氶亾"/>
     <TextView
         android:layout_width="0dp"
         android:layout_weight="1"
@@ -34,7 +33,7 @@
         android:textColor="#ff888995"
         android:gravity="center"
     android:layout_height="wrap_content"
-    android:text="鐗╃悊绱㈠紩"/>
+    android:text="淇″彿鍚嶇О"/>
     <TextView
         android:layout_width="0dp"
         android:layout_weight="1"
@@ -44,14 +43,7 @@
         android:textColor="#ff888995"
     android:text="楂樼數骞虫湁鏁�"/>
 
-    <TextView
-        android:layout_width="0dp"
-        android:layout_weight="1"
-    android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textSize="15sp"
-        android:textColor="#ff888995"
-    android:text="涓绘澘鏈夋晥"/>
+
     <TextView
         android:layout_width="0dp"
         android:layout_weight="1"
@@ -77,16 +69,13 @@
         android:gravity="center"
     android:text="楂樼數骞虫湁鏁�"/>
 
-    <TextView
-        android:layout_width="0dp"
-        android:layout_weight="1"
-    android:layout_height="wrap_content"
-        android:textSize="15sp"
-        android:textColor="#ff888995"
-        android:gravity="center"
-    android:text="涓绘澘鏈夋晥"/>
+
 
 </LinearLayout>
+    <ListView
+        android:layout_width="match_parent"
+        android:id="@+id/lv_signalconf"
+        android:layout_height="match_parent"/>
 </LinearLayout>
 
     <FrameLayout

--
Gitblit v1.8.0