diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + + + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt index 5c65257..b381d5c 100644 --- a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt @@ -1,4 +1,96 @@ package com.casic.electric.detector.view -class ElectricMarkerDetailActivity { +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import com.casic.electric.detector.R +import com.casic.electric.detector.bean.SmallLabelBean +import com.casic.electric.detector.extensions.appendDownloadUrl +import com.casic.electric.detector.utils.DataBaseManager +import com.casic.electric.detector.utils.FileType +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_electric_marker_detail.* + +class ElectricMarkerDetailActivity : KotlinBaseActivity() { + + private lateinit var smallLabel: SmallLabelBean + + override fun initData(savedInstanceState: Bundle?) { + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + window.setGravity(Gravity.CENTER) + val params = window.attributes + params.width = ((getScreenWidth() * 0.9).toInt()) + params.height = ((getScreenHeight() * 0.7).toInt()) + window.attributes = params + + val electricMarkerId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + smallLabel = DataBaseManager.get.queryElectricMarkerById(electricMarkerId) + + markerIdView.text = smallLabel.markerId + locationNumberView.text = smallLabel.locationNumber + locationNameView.text = smallLabel.locationName + electricMarkerIdView.text = smallLabel.electricMarkerId + cableNameView.text = smallLabel.cableName + cableNumberView.text = smallLabel.cableNumber + lineView.text = smallLabel.line + voltageLevelView.text = smallLabel.voltageLevel + cableTypeView.text = smallLabel.cableType + cableSpecView.text = smallLabel.cableSpec + cableBrandView.text = smallLabel.cableBrand + cableStartView.text = smallLabel.cableStart + cableEndView.text = smallLabel.cableEnd + hasJointView.text = smallLabel.hasJoint + jointCreatorView.text = smallLabel.jointCreator + memo1View.text = smallLabel.memo1 + memo2View.text = smallLabel.memo2 + memo3View.text = smallLabel.memo3 + } + + override fun initEvent() { + closeView.setOnClickListener { finish() } + + showImageView.setOnClickListener { + //查数据库 + if (smallLabel.imagePath.isNullOrEmpty()) { + "此标识器无图片".show(this) + } else { + val realPaths: ArrayList = ArrayList() //真实图片路径 + + /** + * /images/markers/202307/0008818922_EVENT_20230704_160349_0_1.jpg,/images/markers/202307/0008818922_EVENT_20230704_160406_0_2.jpg + * */ + val imagePath = smallLabel.imagePath + if (imagePath.contains(",")) { + val list = imagePath.split(",") + list.forEach { path -> + val url = path.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + } else { + //只有一张图片 + val url = imagePath.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + navigatePageTo(0, realPaths) + } + } + } + + override fun initLayoutView(): Int = R.layout.activity_electric_marker_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } } \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt index 5c65257..b381d5c 100644 --- a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt @@ -1,4 +1,96 @@ package com.casic.electric.detector.view -class ElectricMarkerDetailActivity { +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import com.casic.electric.detector.R +import com.casic.electric.detector.bean.SmallLabelBean +import com.casic.electric.detector.extensions.appendDownloadUrl +import com.casic.electric.detector.utils.DataBaseManager +import com.casic.electric.detector.utils.FileType +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_electric_marker_detail.* + +class ElectricMarkerDetailActivity : KotlinBaseActivity() { + + private lateinit var smallLabel: SmallLabelBean + + override fun initData(savedInstanceState: Bundle?) { + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + window.setGravity(Gravity.CENTER) + val params = window.attributes + params.width = ((getScreenWidth() * 0.9).toInt()) + params.height = ((getScreenHeight() * 0.7).toInt()) + window.attributes = params + + val electricMarkerId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + smallLabel = DataBaseManager.get.queryElectricMarkerById(electricMarkerId) + + markerIdView.text = smallLabel.markerId + locationNumberView.text = smallLabel.locationNumber + locationNameView.text = smallLabel.locationName + electricMarkerIdView.text = smallLabel.electricMarkerId + cableNameView.text = smallLabel.cableName + cableNumberView.text = smallLabel.cableNumber + lineView.text = smallLabel.line + voltageLevelView.text = smallLabel.voltageLevel + cableTypeView.text = smallLabel.cableType + cableSpecView.text = smallLabel.cableSpec + cableBrandView.text = smallLabel.cableBrand + cableStartView.text = smallLabel.cableStart + cableEndView.text = smallLabel.cableEnd + hasJointView.text = smallLabel.hasJoint + jointCreatorView.text = smallLabel.jointCreator + memo1View.text = smallLabel.memo1 + memo2View.text = smallLabel.memo2 + memo3View.text = smallLabel.memo3 + } + + override fun initEvent() { + closeView.setOnClickListener { finish() } + + showImageView.setOnClickListener { + //查数据库 + if (smallLabel.imagePath.isNullOrEmpty()) { + "此标识器无图片".show(this) + } else { + val realPaths: ArrayList = ArrayList() //真实图片路径 + + /** + * /images/markers/202307/0008818922_EVENT_20230704_160349_0_1.jpg,/images/markers/202307/0008818922_EVENT_20230704_160406_0_2.jpg + * */ + val imagePath = smallLabel.imagePath + if (imagePath.contains(",")) { + val list = imagePath.split(",") + list.forEach { path -> + val url = path.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + } else { + //只有一张图片 + val url = imagePath.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + navigatePageTo(0, realPaths) + } + } + } + + override fun initLayoutView(): Int = R.layout.activity_electric_marker_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt index 929d05a..70892a8 100644 --- a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt @@ -482,16 +482,7 @@ } //显示单选列表对话框 - AlertDialog.Builder(context) - .setIcon(R.mipmap.ic_launcher) - .setTitle("电子标签列表") - .setSingleChoiceItems( - electricMarkers.toTypedArray(), -1 - ) { dialog, which -> - Log.d(kTag, "onClick => ${electricMarkers[which]}") - - dialog.dismiss() - }.show() + showElectricMarkers(electricMarkers) } 2 -> { if (item == null) { @@ -510,6 +501,15 @@ } } + private fun showElectricMarkers(markers: ArrayList) { + AlertDialog.Builder(context) + .setIcon(R.mipmap.ic_launcher) + .setTitle("电子标签列表") + .setSingleChoiceItems(markers.toTypedArray(), -1) { _, which -> + navigatePageTo(markers[which]) + }.show() + } + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { return if (keyCode == KeyEvent.KEYCODE_BACK) { if (System.currentTimeMillis() - clickTime > 2000) { diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt index 5c65257..b381d5c 100644 --- a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt @@ -1,4 +1,96 @@ package com.casic.electric.detector.view -class ElectricMarkerDetailActivity { +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import com.casic.electric.detector.R +import com.casic.electric.detector.bean.SmallLabelBean +import com.casic.electric.detector.extensions.appendDownloadUrl +import com.casic.electric.detector.utils.DataBaseManager +import com.casic.electric.detector.utils.FileType +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_electric_marker_detail.* + +class ElectricMarkerDetailActivity : KotlinBaseActivity() { + + private lateinit var smallLabel: SmallLabelBean + + override fun initData(savedInstanceState: Bundle?) { + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + window.setGravity(Gravity.CENTER) + val params = window.attributes + params.width = ((getScreenWidth() * 0.9).toInt()) + params.height = ((getScreenHeight() * 0.7).toInt()) + window.attributes = params + + val electricMarkerId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + smallLabel = DataBaseManager.get.queryElectricMarkerById(electricMarkerId) + + markerIdView.text = smallLabel.markerId + locationNumberView.text = smallLabel.locationNumber + locationNameView.text = smallLabel.locationName + electricMarkerIdView.text = smallLabel.electricMarkerId + cableNameView.text = smallLabel.cableName + cableNumberView.text = smallLabel.cableNumber + lineView.text = smallLabel.line + voltageLevelView.text = smallLabel.voltageLevel + cableTypeView.text = smallLabel.cableType + cableSpecView.text = smallLabel.cableSpec + cableBrandView.text = smallLabel.cableBrand + cableStartView.text = smallLabel.cableStart + cableEndView.text = smallLabel.cableEnd + hasJointView.text = smallLabel.hasJoint + jointCreatorView.text = smallLabel.jointCreator + memo1View.text = smallLabel.memo1 + memo2View.text = smallLabel.memo2 + memo3View.text = smallLabel.memo3 + } + + override fun initEvent() { + closeView.setOnClickListener { finish() } + + showImageView.setOnClickListener { + //查数据库 + if (smallLabel.imagePath.isNullOrEmpty()) { + "此标识器无图片".show(this) + } else { + val realPaths: ArrayList = ArrayList() //真实图片路径 + + /** + * /images/markers/202307/0008818922_EVENT_20230704_160349_0_1.jpg,/images/markers/202307/0008818922_EVENT_20230704_160406_0_2.jpg + * */ + val imagePath = smallLabel.imagePath + if (imagePath.contains(",")) { + val list = imagePath.split(",") + list.forEach { path -> + val url = path.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + } else { + //只有一张图片 + val url = imagePath.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + navigatePageTo(0, realPaths) + } + } + } + + override fun initLayoutView(): Int = R.layout.activity_electric_marker_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt index 929d05a..70892a8 100644 --- a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt @@ -482,16 +482,7 @@ } //显示单选列表对话框 - AlertDialog.Builder(context) - .setIcon(R.mipmap.ic_launcher) - .setTitle("电子标签列表") - .setSingleChoiceItems( - electricMarkers.toTypedArray(), -1 - ) { dialog, which -> - Log.d(kTag, "onClick => ${electricMarkers[which]}") - - dialog.dismiss() - }.show() + showElectricMarkers(electricMarkers) } 2 -> { if (item == null) { @@ -510,6 +501,15 @@ } } + private fun showElectricMarkers(markers: ArrayList) { + AlertDialog.Builder(context) + .setIcon(R.mipmap.ic_launcher) + .setTitle("电子标签列表") + .setSingleChoiceItems(markers.toTypedArray(), -1) { _, which -> + navigatePageTo(markers[which]) + }.show() + } + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { return if (keyCode == KeyEvent.KEYCODE_BACK) { if (System.currentTimeMillis() - clickTime > 2000) { diff --git a/app/src/main/res/layout/activity_big_image.xml b/app/src/main/res/layout/activity_big_image.xml new file mode 100644 index 0000000..9d060f4 --- /dev/null +++ b/app/src/main/res/layout/activity_big_image.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt index 5c65257..b381d5c 100644 --- a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt @@ -1,4 +1,96 @@ package com.casic.electric.detector.view -class ElectricMarkerDetailActivity { +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import com.casic.electric.detector.R +import com.casic.electric.detector.bean.SmallLabelBean +import com.casic.electric.detector.extensions.appendDownloadUrl +import com.casic.electric.detector.utils.DataBaseManager +import com.casic.electric.detector.utils.FileType +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_electric_marker_detail.* + +class ElectricMarkerDetailActivity : KotlinBaseActivity() { + + private lateinit var smallLabel: SmallLabelBean + + override fun initData(savedInstanceState: Bundle?) { + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + window.setGravity(Gravity.CENTER) + val params = window.attributes + params.width = ((getScreenWidth() * 0.9).toInt()) + params.height = ((getScreenHeight() * 0.7).toInt()) + window.attributes = params + + val electricMarkerId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + smallLabel = DataBaseManager.get.queryElectricMarkerById(electricMarkerId) + + markerIdView.text = smallLabel.markerId + locationNumberView.text = smallLabel.locationNumber + locationNameView.text = smallLabel.locationName + electricMarkerIdView.text = smallLabel.electricMarkerId + cableNameView.text = smallLabel.cableName + cableNumberView.text = smallLabel.cableNumber + lineView.text = smallLabel.line + voltageLevelView.text = smallLabel.voltageLevel + cableTypeView.text = smallLabel.cableType + cableSpecView.text = smallLabel.cableSpec + cableBrandView.text = smallLabel.cableBrand + cableStartView.text = smallLabel.cableStart + cableEndView.text = smallLabel.cableEnd + hasJointView.text = smallLabel.hasJoint + jointCreatorView.text = smallLabel.jointCreator + memo1View.text = smallLabel.memo1 + memo2View.text = smallLabel.memo2 + memo3View.text = smallLabel.memo3 + } + + override fun initEvent() { + closeView.setOnClickListener { finish() } + + showImageView.setOnClickListener { + //查数据库 + if (smallLabel.imagePath.isNullOrEmpty()) { + "此标识器无图片".show(this) + } else { + val realPaths: ArrayList = ArrayList() //真实图片路径 + + /** + * /images/markers/202307/0008818922_EVENT_20230704_160349_0_1.jpg,/images/markers/202307/0008818922_EVENT_20230704_160406_0_2.jpg + * */ + val imagePath = smallLabel.imagePath + if (imagePath.contains(",")) { + val list = imagePath.split(",") + list.forEach { path -> + val url = path.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + } else { + //只有一张图片 + val url = imagePath.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + navigatePageTo(0, realPaths) + } + } + } + + override fun initLayoutView(): Int = R.layout.activity_electric_marker_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt index 929d05a..70892a8 100644 --- a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt @@ -482,16 +482,7 @@ } //显示单选列表对话框 - AlertDialog.Builder(context) - .setIcon(R.mipmap.ic_launcher) - .setTitle("电子标签列表") - .setSingleChoiceItems( - electricMarkers.toTypedArray(), -1 - ) { dialog, which -> - Log.d(kTag, "onClick => ${electricMarkers[which]}") - - dialog.dismiss() - }.show() + showElectricMarkers(electricMarkers) } 2 -> { if (item == null) { @@ -510,6 +501,15 @@ } } + private fun showElectricMarkers(markers: ArrayList) { + AlertDialog.Builder(context) + .setIcon(R.mipmap.ic_launcher) + .setTitle("电子标签列表") + .setSingleChoiceItems(markers.toTypedArray(), -1) { _, which -> + navigatePageTo(markers[which]) + }.show() + } + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { return if (keyCode == KeyEvent.KEYCODE_BACK) { if (System.currentTimeMillis() - clickTime > 2000) { diff --git a/app/src/main/res/layout/activity_big_image.xml b/app/src/main/res/layout/activity_big_image.xml new file mode 100644 index 0000000..9d060f4 --- /dev/null +++ b/app/src/main/res/layout/activity_big_image.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_electric_marker_detail.xml b/app/src/main/res/layout/activity_electric_marker_detail.xml index cdc89f2..00e3874 100644 --- a/app/src/main/res/layout/activity_electric_marker_detail.xml +++ b/app/src/main/res/layout/activity_electric_marker_detail.xml @@ -1,6 +1,324 @@ - + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3ffe484..10a1363 100644 --- a/.gitignore +++ b/.gitignore @@ -8,5 +8,6 @@ .externalNativeBuild .cxx local.properties +/app/build /app/src/androidTest /app/src/test \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index fea21fa..99f57f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,10 @@ + + + ) : PagerAdapter() { + + override fun getCount(): Int = data.size + + override fun isViewFromObject(view: View, any: Any): Boolean { + return view == any + } + + override fun instantiateItem(container: ViewGroup, position: Int): Any { + val view = + LayoutInflater.from(context).inflate(R.layout.item_big_picture, container, false) + val photoView: PhotoView = view.findViewById(R.id.photoView) + Glide.with(context).load(data[position]).into(photoView) + photoView.scaleType = ImageView.ScaleType.CENTER_INSIDE + container.addView(view) + //点击大图取消预览 + photoView.setOnClickListener { finish() } + return view + } + + override fun destroyItem(container: ViewGroup, position: Int, any: Any) { + container.removeView(any as View) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt index 5c65257..b381d5c 100644 --- a/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/ElectricMarkerDetailActivity.kt @@ -1,4 +1,96 @@ package com.casic.electric.detector.view -class ElectricMarkerDetailActivity { +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.view.Gravity +import com.casic.electric.detector.R +import com.casic.electric.detector.bean.SmallLabelBean +import com.casic.electric.detector.extensions.appendDownloadUrl +import com.casic.electric.detector.utils.DataBaseManager +import com.casic.electric.detector.utils.FileType +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import kotlinx.android.synthetic.main.activity_electric_marker_detail.* + +class ElectricMarkerDetailActivity : KotlinBaseActivity() { + + private lateinit var smallLabel: SmallLabelBean + + override fun initData(savedInstanceState: Bundle?) { + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + window.setGravity(Gravity.CENTER) + val params = window.attributes + params.width = ((getScreenWidth() * 0.9).toInt()) + params.height = ((getScreenHeight() * 0.7).toInt()) + window.attributes = params + + val electricMarkerId = intent.getStringExtra(Constant.INTENT_PARAM)!! + + smallLabel = DataBaseManager.get.queryElectricMarkerById(electricMarkerId) + + markerIdView.text = smallLabel.markerId + locationNumberView.text = smallLabel.locationNumber + locationNameView.text = smallLabel.locationName + electricMarkerIdView.text = smallLabel.electricMarkerId + cableNameView.text = smallLabel.cableName + cableNumberView.text = smallLabel.cableNumber + lineView.text = smallLabel.line + voltageLevelView.text = smallLabel.voltageLevel + cableTypeView.text = smallLabel.cableType + cableSpecView.text = smallLabel.cableSpec + cableBrandView.text = smallLabel.cableBrand + cableStartView.text = smallLabel.cableStart + cableEndView.text = smallLabel.cableEnd + hasJointView.text = smallLabel.hasJoint + jointCreatorView.text = smallLabel.jointCreator + memo1View.text = smallLabel.memo1 + memo2View.text = smallLabel.memo2 + memo3View.text = smallLabel.memo3 + } + + override fun initEvent() { + closeView.setOnClickListener { finish() } + + showImageView.setOnClickListener { + //查数据库 + if (smallLabel.imagePath.isNullOrEmpty()) { + "此标识器无图片".show(this) + } else { + val realPaths: ArrayList = ArrayList() //真实图片路径 + + /** + * /images/markers/202307/0008818922_EVENT_20230704_160349_0_1.jpg,/images/markers/202307/0008818922_EVENT_20230704_160406_0_2.jpg + * */ + val imagePath = smallLabel.imagePath + if (imagePath.contains(",")) { + val list = imagePath.split(",") + list.forEach { path -> + val url = path.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + } else { + //只有一张图片 + val url = imagePath.appendDownloadUrl(FileType.IMAGE) + realPaths.add(url) + } + navigatePageTo(0, realPaths) + } + } + } + + override fun initLayoutView(): Int = R.layout.activity_electric_marker_detail + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt index 929d05a..70892a8 100644 --- a/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/electric/detector/view/MainActivity.kt @@ -482,16 +482,7 @@ } //显示单选列表对话框 - AlertDialog.Builder(context) - .setIcon(R.mipmap.ic_launcher) - .setTitle("电子标签列表") - .setSingleChoiceItems( - electricMarkers.toTypedArray(), -1 - ) { dialog, which -> - Log.d(kTag, "onClick => ${electricMarkers[which]}") - - dialog.dismiss() - }.show() + showElectricMarkers(electricMarkers) } 2 -> { if (item == null) { @@ -510,6 +501,15 @@ } } + private fun showElectricMarkers(markers: ArrayList) { + AlertDialog.Builder(context) + .setIcon(R.mipmap.ic_launcher) + .setTitle("电子标签列表") + .setSingleChoiceItems(markers.toTypedArray(), -1) { _, which -> + navigatePageTo(markers[which]) + }.show() + } + override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean { return if (keyCode == KeyEvent.KEYCODE_BACK) { if (System.currentTimeMillis() - clickTime > 2000) { diff --git a/app/src/main/res/layout/activity_big_image.xml b/app/src/main/res/layout/activity_big_image.xml new file mode 100644 index 0000000..9d060f4 --- /dev/null +++ b/app/src/main/res/layout/activity_big_image.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_electric_marker_detail.xml b/app/src/main/res/layout/activity_electric_marker_detail.xml index cdc89f2..00e3874 100644 --- a/app/src/main/res/layout/activity_electric_marker_detail.xml +++ b/app/src/main/res/layout/activity_electric_marker_detail.xml @@ -1,6 +1,324 @@ - + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_big_picture.xml b/app/src/main/res/layout/item_big_picture.xml new file mode 100644 index 0000000..d90eb44 --- /dev/null +++ b/app/src/main/res/layout/item_big_picture.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file