Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
A
AnchorCollect_p
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hywang
AnchorCollect_p
Commits
f9235109
Commit
f9235109
authored
Oct 31, 2023
by
hywang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.增加换绑标签功能
parent
10459ada
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
708 additions
and
19 deletions
+708
-19
build.gradle
app/build.gradle
+2
-2
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+5
-0
VMFactory.java
...rc/main/java/com/phlx/anchorcollect_p/data/VMFactory.java
+3
-0
CattleResumeEntity.java
...a/com/phlx/anchorcollect_p/entity/CattleResumeEntity.java
+40
-0
BasicsCollectFragment.java
...lx/anchorcollect_p/ui/fragment/BasicsCollectFragment.java
+69
-1
BasicsCollectVM.java
.../phlx/anchorcollect_p/ui/fragment/vm/BasicsCollectVM.java
+39
-9
LabelChangeActivity.java
...x/anchorcollect_p/ui/labelchange/LabelChangeActivity.java
+90
-0
LabelChangeVM.java
...om/phlx/anchorcollect_p/ui/labelchange/LabelChangeVM.java
+293
-0
activity_label_change.xml
app/src/main/res/layout/activity_label_change.xml
+127
-0
fragment_basics_collect.xml
app/src/main/res/layout/fragment_basics_collect.xml
+39
-7
strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/build.gradle
View file @
f9235109
...
@@ -9,8 +9,8 @@ android {
...
@@ -9,8 +9,8 @@ android {
applicationId
"com.phlx.anchorcollect_p"
applicationId
"com.phlx.anchorcollect_p"
minSdkVersion
21
minSdkVersion
21
targetSdkVersion
29
targetSdkVersion
29
versionCode
1
2
versionCode
1
4
versionName
"2.0.
6
"
versionName
"2.0.
8
"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunner
"androidx.test.runner.AndroidJUnitRunner"
...
...
app/src/main/AndroidManifest.xml
View file @
f9235109
...
@@ -92,6 +92,11 @@
...
@@ -92,6 +92,11 @@
android:configChanges=
"keyboardHidden|orientation|screenSize"
android:configChanges=
"keyboardHidden|orientation|screenSize"
android:launchMode=
"singleTask"
android:launchMode=
"singleTask"
android:windowSoftInputMode=
"stateHidden|adjustResize"
/>
android:windowSoftInputMode=
"stateHidden|adjustResize"
/>
<activity
android:name=
".ui.labelchange.LabelChangeActivity"
android:configChanges=
"keyboardHidden|orientation|screenSize"
android:launchMode=
"singleTask"
android:windowSoftInputMode=
"stateHidden|adjustResize"
/>
<service
<service
...
...
app/src/main/java/com/phlx/anchorcollect_p/data/VMFactory.java
View file @
f9235109
...
@@ -17,6 +17,7 @@ import com.phlx.anchorcollect_p.ui.fragment.vm.PerformanceVM;
...
@@ -17,6 +17,7 @@ import com.phlx.anchorcollect_p.ui.fragment.vm.PerformanceVM;
import
com.phlx.anchorcollect_p.ui.fragment.vm.WeightManVM
;
import
com.phlx.anchorcollect_p.ui.fragment.vm.WeightManVM
;
import
com.phlx.anchorcollect_p.ui.home.HomeVM
;
import
com.phlx.anchorcollect_p.ui.home.HomeVM
;
import
com.phlx.anchorcollect_p.ui.info.CattleVM
;
import
com.phlx.anchorcollect_p.ui.info.CattleVM
;
import
com.phlx.anchorcollect_p.ui.labelchange.LabelChangeVM
;
import
com.phlx.anchorcollect_p.ui.login.LoginVM
;
import
com.phlx.anchorcollect_p.ui.login.LoginVM
;
import
com.phlx.anchorcollect_p.ui.main.MainVM
;
import
com.phlx.anchorcollect_p.ui.main.MainVM
;
import
com.phlx.anchorcollect_p.ui.setting.SettingVM
;
import
com.phlx.anchorcollect_p.ui.setting.SettingVM
;
...
@@ -104,6 +105,8 @@ public class VMFactory extends ViewModelProvider.NewInstanceFactory {
...
@@ -104,6 +105,8 @@ public class VMFactory extends ViewModelProvider.NewInstanceFactory {
return
(
T
)
new
BindVM
(
mApplication
,
repository
);
return
(
T
)
new
BindVM
(
mApplication
,
repository
);
}
else
if
(
modelClass
.
isAssignableFrom
(
SettingVM
.
class
))
{
}
else
if
(
modelClass
.
isAssignableFrom
(
SettingVM
.
class
))
{
return
(
T
)
new
SettingVM
(
mApplication
,
repository
);
return
(
T
)
new
SettingVM
(
mApplication
,
repository
);
}
else
if
(
modelClass
.
isAssignableFrom
(
LabelChangeVM
.
class
))
{
return
(
T
)
new
LabelChangeVM
(
mApplication
,
repository
);
}
else
if
(
modelClass
.
isAssignableFrom
(
SyncVM
.
class
))
{
}
else
if
(
modelClass
.
isAssignableFrom
(
SyncVM
.
class
))
{
return
(
T
)
new
SyncVM
(
mApplication
,
repository
);
return
(
T
)
new
SyncVM
(
mApplication
,
repository
);
...
...
app/src/main/java/com/phlx/anchorcollect_p/entity/CattleResumeEntity.java
View file @
f9235109
...
@@ -634,4 +634,44 @@ public class CattleResumeEntity extends BaseObservable implements Parcelable {
...
@@ -634,4 +634,44 @@ public class CattleResumeEntity extends BaseObservable implements Parcelable {
", remark='"
+
remark
+
'\''
+
", remark='"
+
remark
+
'\''
+
'}'
;
'}'
;
}
}
public
void
copyEntity
(
CattleResumeEntity
cre
)
{
this
.
unid
=
cre
.
getUnid
();
this
.
registrationNo
=
cre
.
getRegistrationNo
();
this
.
individualNo
=
cre
.
getIndividualNo
();
this
.
circleNo
=
cre
.
getCircleNo
();
this
.
raiseType
=
cre
.
getRaiseType
();
this
.
raiseVarieties
=
cre
.
getRaiseVarieties
();
this
.
birthdate
=
cre
.
getBirthdate
();
this
.
birthHeavy
=
cre
.
getBirthHeavy
();
this
.
sex
=
cre
.
getSex
();
this
.
birthDifficulty
=
cre
.
getBirthDifficulty
();
this
.
isTwins
=
cre
.
getIsTwins
();
this
.
childTime
=
cre
.
getChildTime
();
this
.
grade
=
cre
.
getGrade
();
this
.
fatherReg
=
cre
.
getFatherReg
();
this
.
motherReg
=
cre
.
getMotherReg
();
this
.
fromMilkHeavy
=
cre
.
getFromMilkHeavy
();
this
.
health
=
cre
.
getHealth
();
this
.
junHeavy
=
cre
.
getJunHeavy
();
this
.
decAppScore
=
cre
.
getDecAppScore
();
this
.
photo
=
cre
.
getPhoto
();
this
.
photoPath
=
cre
.
getPhotoPath
();
this
.
status
=
cre
.
getStatus
();
this
.
isOut
=
cre
.
getIsOut
();
this
.
age
=
cre
.
getAge
();
this
.
colour
=
cre
.
getColour
();
this
.
inputTime
=
cre
.
getInputTime
();
this
.
deptId
=
cre
.
getDeptId
();
this
.
uploadStatus
=
cre
.
getUploadStatus
();
this
.
uploadTime
=
cre
.
getUploadTime
();
this
.
createBy
=
cre
.
getCreateBy
();
this
.
createTime
=
cre
.
getCreateTime
();
this
.
updateBy
=
cre
.
getUpdateBy
();
this
.
updateTime
=
cre
.
getUpdateTime
();
this
.
remark
=
cre
.
getRemark
();
}
}
}
app/src/main/java/com/phlx/anchorcollect_p/ui/fragment/BasicsCollectFragment.java
View file @
f9235109
...
@@ -69,7 +69,7 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
...
@@ -69,7 +69,7 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
private
ImagePicker
mImagePicker
;
private
ImagePicker
mImagePicker
;
public
MaterialDialog
scanRfidDialog
;
public
MaterialDialog
scanRfidDialog
,
scanChangeLabelDialog
;
private
static
class
SingletonClassInstance
{
private
static
class
SingletonClassInstance
{
private
static
final
BasicsCollectFragment
instance
=
new
BasicsCollectFragment
();
private
static
final
BasicsCollectFragment
instance
=
new
BasicsCollectFragment
();
...
@@ -297,6 +297,74 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
...
@@ -297,6 +297,74 @@ public class BasicsCollectFragment extends BaseFragment<FragmentBasicsCollectBin
}).
show
();
}).
show
();
}
}
});
});
viewModel
.
onChangeLabelEvent
.
observe
(
getActivity
(),
new
Observer
<
String
>()
{
@Override
public
void
onChanged
(
String
s
)
{
scanChangeLabelDialog
=
new
MaterialDialog
.
Builder
(
getActivity
())
.
title
(
"请扫描或输入原耳标"
)
// .iconRes(R.drawable.ic_logo)
.
canceledOnTouchOutside
(
false
)
.
autoDismiss
(
false
)
// .content("高频耳标")
// .widgetColor(Color.BLUE)//输入框光标的颜色
//前2个一个是hint一个是预输入的文字
.
input
(
"可视耳标"
,
""
,
new
MaterialDialog
.
InputCallback
()
{
@Override
public
void
onInput
(
@NonNull
MaterialDialog
dialog
,
CharSequence
input
)
{
Log
.
i
(
"scan"
,
"输入的是:"
+
input
);
}
})
.
neutralText
(
"扫描"
)
.
onNeutral
(
new
MaterialDialog
.
SingleButtonCallback
()
{
@Override
public
void
onClick
(
@NonNull
MaterialDialog
dialog
,
@NonNull
DialogAction
which
)
{
viewModel
.
scanFunction
=
2
;
viewModel
.
scanRfid
();
}
})
.
onPositive
(
new
MaterialDialog
.
SingleButtonCallback
()
{
@Override
public
void
onClick
(
@NonNull
MaterialDialog
dialog
,
@NonNull
DialogAction
which
)
{
// dialog.getActionButton(DialogAction.POSITIVE).setEnabled(false);
String
registrationNo
=
dialog
.
getContentView
().
getText
().
toString
();
String
individualNo
=
dialog
.
getInputEditText
().
getText
().
toString
();
if
(
StringUtils
.
isEmpty
(
registrationNo
)
&&
StringUtils
.
isEmpty
(
individualNo
))
{
ToastUtils
.
showShort
(
"请扫描或者输入耳标!"
);
return
;
}
if
(!
StringUtils
.
isEmpty
(
registrationNo
)
&&
registrationNo
.
length
()
>
50
)
{
ToastUtils
.
showShort
(
"高频耳标长度非法,请重新扫描!"
);
return
;
}
if
(!
StringUtils
.
isEmpty
(
individualNo
)
&&
individualNo
.
length
()
>
25
)
{
ToastUtils
.
showShort
(
"可视耳标超长,请填写在25位内!"
);
return
;
}
viewModel
.
forwardChangeLabel
(
registrationNo
,
individualNo
);
dialog
.
dismiss
();
}
})
.
negativeText
(
"取消"
)
.
onNegative
(
new
MaterialDialog
.
SingleButtonCallback
()
{
@Override
public
void
onClick
(
@NonNull
MaterialDialog
dialog
,
@NonNull
DialogAction
which
)
{
dialog
.
dismiss
();
}
})
.
show
();
}
});
viewModel
.
setChangeLabelRfidValueEvent
.
observe
(
getActivity
(),
new
Observer
<
String
>()
{
@Override
public
void
onChanged
(
String
s
)
{
scanChangeLabelDialog
.
setContent
(
s
);
}
});
}
}
//选择框
//选择框
...
...
app/src/main/java/com/phlx/anchorcollect_p/ui/fragment/vm/BasicsCollectVM.java
View file @
f9235109
...
@@ -5,6 +5,7 @@ import android.app.Application;
...
@@ -5,6 +5,7 @@ import android.app.Application;
import
android.graphics.drawable.Drawable
;
import
android.graphics.drawable.Drawable
;
import
android.media.AudioManager
;
import
android.media.AudioManager
;
import
android.media.SoundPool
;
import
android.media.SoundPool
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.os.Environment
;
import
android.os.Handler
;
import
android.os.Handler
;
import
android.os.Message
;
import
android.os.Message
;
...
@@ -17,6 +18,7 @@ import androidx.databinding.ObservableArrayList;
...
@@ -17,6 +18,7 @@ import androidx.databinding.ObservableArrayList;
import
androidx.databinding.ObservableField
;
import
androidx.databinding.ObservableField
;
import
androidx.databinding.ObservableList
;
import
androidx.databinding.ObservableList
;
import
com.afollestad.materialdialogs.MaterialDialog
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.google.gson.JsonObject
;
import
com.google.gson.JsonObject
;
import
com.phlx.anchorcollect_p.App
;
import
com.phlx.anchorcollect_p.App
;
...
@@ -39,6 +41,7 @@ import com.phlx.anchorcollect_p.event.EventMsg;
...
@@ -39,6 +41,7 @@ import com.phlx.anchorcollect_p.event.EventMsg;
import
com.phlx.anchorcollect_p.event.EventTag
;
import
com.phlx.anchorcollect_p.event.EventTag
;
import
com.phlx.anchorcollect_p.ui.bind.BindActivity
;
import
com.phlx.anchorcollect_p.ui.bind.BindActivity
;
import
com.phlx.anchorcollect_p.ui.fragment.list.CollectGridItem
;
import
com.phlx.anchorcollect_p.ui.fragment.list.CollectGridItem
;
import
com.phlx.anchorcollect_p.ui.labelchange.LabelChangeActivity
;
import
com.phlx.anchorcollect_p.ui.setting.SettingActivity
;
import
com.phlx.anchorcollect_p.ui.setting.SettingActivity
;
import
com.phlx.anchorcollect_p.ui.setting.SyncActivity
;
import
com.phlx.anchorcollect_p.ui.setting.SyncActivity
;
import
com.phlx.anchorcollect_p.util.BaseImageUtils
;
import
com.phlx.anchorcollect_p.util.BaseImageUtils
;
...
@@ -93,6 +96,9 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -93,6 +96,9 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
public
SingleLiveEvent
<
Boolean
>
onNotifyAllEvent
=
new
SingleLiveEvent
<>();
//true是清空页面
public
SingleLiveEvent
<
Boolean
>
onNotifyAllEvent
=
new
SingleLiveEvent
<>();
//true是清空页面
public
SingleLiveEvent
<
String
>
setRfidValueEvent
=
new
SingleLiveEvent
<>();
//设置弹窗的扫到的标签epc
public
SingleLiveEvent
<
String
>
setRfidValueEvent
=
new
SingleLiveEvent
<>();
//设置弹窗的扫到的标签epc
public
SingleLiveEvent
<
String
>
setChangeLabelRfidValueEvent
=
new
SingleLiveEvent
<>();
//设置换绑标签弹窗的扫到的标签epc
public
SingleLiveEvent
<
String
>
onChangeLabelEvent
=
new
SingleLiveEvent
<>();
//换绑标签的弹窗
public
SingleLiveEvent
<
String
>
onShowDialogEvent
=
new
SingleLiveEvent
<>();
//弹窗提示
public
SingleLiveEvent
<
String
>
onShowDialogEvent
=
new
SingleLiveEvent
<>();
//弹窗提示
...
@@ -122,7 +128,7 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -122,7 +128,7 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
private
List
<
CattleResumeEntity
>
uploadData
;
private
List
<
CattleResumeEntity
>
uploadData
;
public
int
scanFunction
=
0
;
//0 是普通扫描耳标,1 是弹出窗的扫描耳标
public
int
scanFunction
=
0
;
//0 是普通扫描耳标,1 是弹出窗的扫描耳标
, 2 是换绑耳标的扫描耳标
public
BasicsCollectVM
(
@NonNull
Application
application
,
Repository
model
)
{
public
BasicsCollectVM
(
@NonNull
Application
application
,
Repository
model
)
{
...
@@ -281,7 +287,18 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -281,7 +287,18 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
public
BindingCommand
onSettingClick
=
new
BindingCommand
(
new
BindingAction
()
{
public
BindingCommand
onSettingClick
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
@Override
public
void
call
()
{
public
void
call
()
{
// if (Configs.isOnLine) {
startActivity
(
SettingActivity
.
class
);
startActivity
(
SettingActivity
.
class
);
// } else {
// onChangeLabelEvent.call();
// }
}
});
//设置
public
BindingCommand
onLabelChangeClick
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
public
void
call
()
{
onChangeLabelEvent
.
call
();
}
}
});
});
...
@@ -365,6 +382,15 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -365,6 +382,15 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
onCardClickEvent
.
call
();
onCardClickEvent
.
call
();
}
}
//跳转到换绑页面
public
void
forwardChangeLabel
(
String
epc
,
String
noticeNo
)
{
Bundle
mBundle
=
new
Bundle
();
mBundle
.
putString
(
"epc"
,
epc
);
mBundle
.
putString
(
"noticeNo"
,
noticeNo
);
startActivity
(
LabelChangeActivity
.
class
,
mBundle
);
}
private
void
queryCattleResume
(
QueryBuilder
<
CattleResumeEntity
>
builder
)
{
private
void
queryCattleResume
(
QueryBuilder
<
CattleResumeEntity
>
builder
)
{
DbUtil
.
getInstance
().
setDbQueryCallBack
(
new
DbQueryCallBack
<
CattleResumeEntity
>()
{
DbUtil
.
getInstance
().
setDbQueryCallBack
(
new
DbQueryCallBack
<
CattleResumeEntity
>()
{
...
@@ -505,8 +531,6 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -505,8 +531,6 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
}
}
}
}
}).
insertAsyncBatch
(
CattleResumeEntity
.
class
,
uploadData
);
}).
insertAsyncBatch
(
CattleResumeEntity
.
class
,
uploadData
);
}
}
...
@@ -535,12 +559,18 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
...
@@ -535,12 +559,18 @@ public class BasicsCollectVM extends BaseViewModel<Repository> implements OnInve
};
};
private
void
checkEpc
(
String
epc
,
String
tid
)
{
private
void
checkEpc
(
String
epc
,
String
tid
)
{
ToastUtils
.
showShort
(
"盘点到标签:"
+
epc
+
"|停止盘点"
);
//
ToastUtils.showShort("盘点到标签:" + epc + "|停止盘点");
rfidTag
=
epc
+
tid
;
rfidTag
=
epc
+
tid
;
if
(
scanFunction
==
0
)
{
switch
(
scanFunction
)
{
case
0
:
initDataForRfid
(
epc
);
initDataForRfid
(
epc
);
}
else
if
(
scanFunction
==
1
)
{
break
;
case
1
:
setRfidValueEvent
.
setValue
(
epc
);
setRfidValueEvent
.
setValue
(
epc
);
break
;
case
2
:
setChangeLabelRfidValueEvent
.
setValue
(
epc
);
break
;
}
}
}
}
...
...
app/src/main/java/com/phlx/anchorcollect_p/ui/labelchange/LabelChangeActivity.java
0 → 100644
View file @
f9235109
package
com
.
phlx
.
anchorcollect_p
.
ui
.
labelchange
;
import
android.os.Bundle
;
import
android.view.KeyEvent
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProviders
;
import
com.afollestad.materialdialogs.DialogAction
;
import
com.afollestad.materialdialogs.MaterialDialog
;
import
com.bigkoo.pickerview.view.TimePickerView
;
import
com.phlx.anchorcollect_p.BR
;
import
com.phlx.anchorcollect_p.R
;
import
com.phlx.anchorcollect_p.data.VMFactory
;
import
com.phlx.anchorcollect_p.databinding.ActivityLabelChangeBinding
;
import
com.phlx.anchorcollect_p.rfid.ModuleManager
;
import
com.phlx.anchorcollect_p.ui.base.BaseActivity
;
import
com.phlx.anchorcollect_p.util.ImagePicker
;
public
class
LabelChangeActivity
extends
BaseActivity
<
ActivityLabelChangeBinding
,
LabelChangeVM
>
{
private
TimePickerView
pvTime
;
private
ImagePicker
markImagePicker
;
private
String
epc
,
noticeNo
;
@Override
public
int
initContentView
(
Bundle
savedInstanceState
)
{
return
R
.
layout
.
activity_label_change
;
}
@Override
public
int
initVariableId
()
{
return
BR
.
viewModel
;
}
@Override
public
void
initParam
()
{
super
.
initParam
();
Bundle
_bundle
=
getIntent
().
getExtras
();
if
(
_bundle
!=
null
)
{
epc
=
_bundle
.
getString
(
"epc"
);
noticeNo
=
_bundle
.
getString
(
"noticeNo"
);
}
}
@Override
public
LabelChangeVM
initViewModel
()
{
VMFactory
factory
=
VMFactory
.
getInstance
(
getApplication
());
return
ViewModelProviders
.
of
(
this
,
factory
).
get
(
LabelChangeVM
.
class
);
}
@Override
public
void
initData
()
{
super
.
initData
();
viewModel
.
initToolbar
(
epc
,
noticeNo
);
}
@Override
public
void
initViewObservable
()
{
super
.
initViewObservable
();
}
/**
* 监听Back键按下事件
*/
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
if
(
keyCode
==
KeyEvent
.
KEYCODE_BACK
)
{
new
MaterialDialog
.
Builder
(
this
).
title
(
"系统提示"
).
content
(
"数据尚未保存,是否退出?"
).
positiveText
(
"确定"
).
negativeText
(
"取消"
).
onAny
(
new
MaterialDialog
.
SingleButtonCallback
()
{
@Override
public
void
onClick
(
@NonNull
MaterialDialog
dialog
,
@NonNull
DialogAction
which
)
{
if
(
which
==
DialogAction
.
POSITIVE
)
{
finish
();
}
}
}).
show
();
return
true
;
}
else
if
(
keyCode
==
782
)
{
// viewModel.photoOnClick.call();
}
return
super
.
onKeyDown
(
keyCode
,
event
);
}
}
app/src/main/java/com/phlx/anchorcollect_p/ui/labelchange/LabelChangeVM.java
0 → 100644
View file @
f9235109
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/activity_label_change.xml
0 → 100644
View file @
f9235109
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/tools"
xmlns:binding=
"http://schemas.android.com/apk/res-auto"
app:ignore=
"NamespaceTypo"
>
<data>
<import
type=
"me.tatarka.bindingcollectionadapter2.BindingRecyclerViewAdapter"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers"
/>
<variable
name=
"viewModel"
type=
"com.phlx.anchorcollect_p.ui.labelchange.LabelChangeVM"
/>
<variable
name=
"spinnerAdapter"
type=
"android.widget.ArrayAdapter"
/>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<include
android:id=
"@+id/include"
layout=
"@layout/layout_back_bar"
binding:backBarVM=
"@{viewModel.backBarVM}"
/>
<androidx.core.widget.NestedScrollView
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_0"
binding:layout_constraintBottom_toBottomOf=
"parent"
binding:layout_constraintEnd_toEndOf=
"parent"
binding:layout_constraintStart_toStartOf=
"parent"
binding:layout_constraintTop_toBottomOf=
"@+id/include"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_0"
android:layout_marginStart=
"@dimen/dp_30"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginEnd=
"@dimen/dp_30"
>
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/marking_guideline_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
binding:layout_constraintGuide_begin=
"@dimen/dp_75"
/>
<androidx.appcompat.widget.LinearLayoutCompat
android:id=
"@+id/ll_label"
android:layout_width=
"@dimen/dp_0"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
binding:layout_constraintLeft_toLeftOf=
"parent"
binding:layout_constraintRight_toLeftOf=
"@+id/marking_guideline_vertical"
binding:layout_constraintTop_toTopOf=
"parent"
>
<androidx.appcompat.widget.AppCompatTextView
android:id=
"@+id/high_no_desc"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/dp_40"
android:gravity=
"center_vertical"
android:layout_marginTop=
"@dimen/dp_5"
android:text=
"高频耳标"
android:textColor=
"@color/black"
android:textSize=
"@dimen/desc_text_size"
/>
<androidx.appcompat.widget.AppCompatTextView
android:id=
"@+id/notice_no_desc"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/dp_40"
android:gravity=
"center_vertical"
android:layout_marginTop=
"@dimen/dp_5"
android:text=
"可视耳标"
android:textColor=
"@color/black"
android:textSize=
"@dimen/desc_text_size"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width=
"@dimen/dp_0"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
binding:layout_constraintHorizontal_bias=
"1.0"
binding:layout_constraintLeft_toRightOf=
"@+id/marking_guideline_vertical"
binding:layout_constraintRight_toRightOf=
"parent"
binding:layout_constraintTop_toTopOf=
"parent"
>
<androidx.appcompat.widget.AppCompatTextView
android:id=
"@+id/high_no_edit"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:gravity=
"center_vertical"
android:layout_marginTop=
"@dimen/dp_5"
android:inputType=
"number"
android:background=
"@drawable/input_frame_bg"
android:text=
"@={viewModel.epc}"
android:textSize=
"@dimen/edit_size"
binding:onClickCommand=
"@{viewModel.onScanRfidClick}"
/>
<androidx.appcompat.widget.AppCompatEditText
android:id=
"@+id/notice_no_edit"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:gravity=
"center_vertical"
android:layout_marginTop=
"@dimen/dp_5"
android:maxLength=
"20"
android:singleLine=
"true"
android:background=
"@drawable/input_frame_bg"
android:text=
"@={viewModel.noticeNo}"
android:textSize=
"@dimen/edit_size"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/fragment_basics_collect.xml
View file @
f9235109
...
@@ -56,12 +56,10 @@
...
@@ -56,12 +56,10 @@
android:layout_margin=
"@dimen/dp_5"
android:layout_margin=
"@dimen/dp_5"
android:background=
"@drawable/bg_radius_white_5"
android:background=
"@drawable/bg_radius_white_5"
android:orientation=
"vertical"
android:orientation=
"vertical"
android:padding=
"5dp"
binding:layout_constraintBottom_toBottomOf=
"@id/card_100"
binding:layout_constraintBottom_toBottomOf=
"@id/card_100"
binding:layout_constraintLeft_toRightOf=
"@+id/card_100"
binding:layout_constraintLeft_toRightOf=
"@+id/card_100"
binding:layout_constraintRight_toRightOf=
"parent"
binding:layout_constraintRight_toRightOf=
"parent"
binding:layout_constraintTop_toBottomOf=
"@+id/tv_rfid_text"
binding:layout_constraintTop_toBottomOf=
"@+id/tv_rfid_text"
>
binding:onClickCommand=
"@{viewModel.onTagInputClick}"
>
<androidx.appcompat.widget.AppCompatTextView
<androidx.appcompat.widget.AppCompatTextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
@@ -70,16 +68,32 @@
...
@@ -70,16 +68,32 @@
android:layout_marginTop=
"10dp"
android:layout_marginTop=
"10dp"
android:text=
"可视耳标"
android:text=
"可视耳标"
android:textColor=
"@color/colorPrimary"
android:textColor=
"@color/colorPrimary"
android:textSize=
"@dimen/sp_16"
/>
android:textSize=
"@dimen/sp_16"
binding:onClickCommand=
"@{viewModel.onTagInputClick}"
/>
<androidx.appcompat.widget.AppCompatTextView
<androidx.appcompat.widget.AppCompatTextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"10dp"
android:layout_marginLeft=
"10dp"
android:layout_marginTop=
"
1
0dp"
android:layout_marginTop=
"
2
0dp"
android:text=
"@{viewModel.tag}"
android:text=
"@{viewModel.tag}"
android:textColor=
"@color/black"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_18"
/>
android:textSize=
"@dimen/sp_18"
binding:onClickCommand=
"@{viewModel.onTagInputClick}"
/>
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="换绑标签"-->
<!-- android:layout_marginLeft="10dp"-->
<!-- android:layout_marginRight="10dp"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:paddingBottom="5dp"-->
<!-- android:paddingTop="5dp"-->
<!-- android:textColor="@color/white"-->
<!-- android:background="@drawable/bg_button_orange_gradient"-->
<!-- android:gravity="center"-->
<!-- binding:onClickCommand="@{viewModel.onLabelChangeClick}"/>-->
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
<androidx.appcompat.widget.LinearLayoutCompat
...
@@ -115,11 +129,29 @@
...
@@ -115,11 +129,29 @@
binding:layout_constraintLeft_toLeftOf=
"parent"
binding:layout_constraintLeft_toLeftOf=
"parent"
binding:layout_constraintRight_toRightOf=
"parent"
>
binding:layout_constraintRight_toRightOf=
"parent"
>
<androidx.appcompat.widget.LinearLayoutCompat
android:id=
"@+id/card_label_change"
android:layout_width=
"75dp"
android:layout_height=
"37dp"
android:background=
"@drawable/bg_radius_white_5"
binding:onClickCommand=
"@{viewModel.onLabelChangeClick}"
>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@drawable/bg_button_orange_gradient"
android:gravity=
"center"
android:text=
"换绑标签"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.LinearLayoutCompat
<androidx.appcompat.widget.LinearLayoutCompat
android:id=
"@+id/card_99"
android:id=
"@+id/card_99"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"37dp"
android:layout_height=
"37dp"
android:layout_weight=
"1"
android:layout_weight=
"1"
android:layout_marginLeft=
"5dp"
android:background=
"@drawable/bg_radius_white_5"
android:background=
"@drawable/bg_radius_white_5"
android:onClick=
"@{() ->viewModel.click(99)}"
android:onClick=
"@{() ->viewModel.click(99)}"
android:orientation=
"vertical"
android:orientation=
"vertical"
...
@@ -144,7 +176,7 @@
...
@@ -144,7 +176,7 @@
<androidx.appcompat.widget.LinearLayoutCompat
<androidx.appcompat.widget.LinearLayoutCompat
android:id=
"@+id/card_save"
android:id=
"@+id/card_save"
android:layout_width=
"
100
dp"
android:layout_width=
"
75
dp"
android:layout_height=
"37dp"
android:layout_height=
"37dp"
android:layout_marginLeft=
"5dp"
android:layout_marginLeft=
"5dp"
android:background=
"@drawable/bg_radius_white_5"
android:background=
"@drawable/bg_radius_white_5"
...
...
app/src/main/res/values/strings.xml
View file @
f9235109
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
<string
name=
"immun_record_detail"
>
免疫详情
</string>
<string
name=
"immun_record_detail"
>
免疫详情
</string>
<string
name=
"breeding_record"
>
配种记录
</string>
<string
name=
"breeding_record"
>
配种记录
</string>
<string
name=
"breeding_record_detail"
>
配种详情
</string>
<string
name=
"breeding_record_detail"
>
配种详情
</string>
<string
name=
"label_change"
>
标签换绑
</string>
<string
name=
"one_click_sync"
>
一键同步
</string>
<string
name=
"one_click_sync"
>
一键同步
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment