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