diff --git a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java index a455fd0..514d3ba 100644 --- a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java +++ b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java @@ -13,18 +13,23 @@ // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. + /** * Master of DAO (schema version 1): knows all DAOs. */ public class DaoMaster extends AbstractDaoMaster { public static final int SCHEMA_VERSION = 1; - /** Creates underlying database table using DAOs. */ + /** + * Creates underlying database table using DAOs. + */ public static void createAllTables(Database db, boolean ifNotExists) { GasValueBeanDao.createTable(db, ifNotExists); } - /** Drops underlying database table using DAOs. */ + /** + * Drops underlying database table using DAOs. + */ public static void dropAllTables(Database db, boolean ifExists) { GasValueBeanDao.dropTable(db, ifExists); } @@ -75,7 +80,9 @@ } } - /** WARNING: Drops all table on Upgrade! Use only during development. */ + /** + * WARNING: Drops all table on Upgrade! Use only during development. + */ public static class DevOpenHelper extends OpenHelper { public DevOpenHelper(Context context, String name) { super(context, name); diff --git a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java index a455fd0..514d3ba 100644 --- a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java +++ b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java @@ -13,18 +13,23 @@ // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. + /** * Master of DAO (schema version 1): knows all DAOs. */ public class DaoMaster extends AbstractDaoMaster { public static final int SCHEMA_VERSION = 1; - /** Creates underlying database table using DAOs. */ + /** + * Creates underlying database table using DAOs. + */ public static void createAllTables(Database db, boolean ifNotExists) { GasValueBeanDao.createTable(db, ifNotExists); } - /** Drops underlying database table using DAOs. */ + /** + * Drops underlying database table using DAOs. + */ public static void dropAllTables(Database db, boolean ifExists) { GasValueBeanDao.dropTable(db, ifExists); } @@ -75,7 +80,9 @@ } } - /** WARNING: Drops all table on Upgrade! Use only during development. */ + /** + * WARNING: Drops all table on Upgrade! Use only during development. + */ public static class DevOpenHelper extends OpenHelper { public DevOpenHelper(Context context, String name) { super(context, name); diff --git a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt index 209f1fc..91a4ba1 100644 --- a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt +++ b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt @@ -36,6 +36,7 @@ import com.casic.endoscope.widgets.AlertControlDialog import com.casic.endoscope.widgets.BluetoothDeviceDialog import com.casic.endoscope.widgets.LineChartMarkerView +import com.casic.endoscope.widgets.PreviewImageDialog import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.LineData import com.github.mikephil.charting.data.LineDataSet @@ -118,17 +119,6 @@ return ActivityMainBinding.inflate(layoutInflater) } - init { -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") - } - override fun initOnCreate(savedInstanceState: Bundle?) { //显示数据 weakReferenceHandler = WeakReferenceHandler(this) @@ -459,6 +449,11 @@ viewHolder.setOnClickListener(R.id.imageView) { //查看大图Dialog + PreviewImageDialog.Builder() + .setContext(context) + .setImagePath(item) + .build() + .show() } } } diff --git a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java index a455fd0..514d3ba 100644 --- a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java +++ b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java @@ -13,18 +13,23 @@ // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. + /** * Master of DAO (schema version 1): knows all DAOs. */ public class DaoMaster extends AbstractDaoMaster { public static final int SCHEMA_VERSION = 1; - /** Creates underlying database table using DAOs. */ + /** + * Creates underlying database table using DAOs. + */ public static void createAllTables(Database db, boolean ifNotExists) { GasValueBeanDao.createTable(db, ifNotExists); } - /** Drops underlying database table using DAOs. */ + /** + * Drops underlying database table using DAOs. + */ public static void dropAllTables(Database db, boolean ifExists) { GasValueBeanDao.dropTable(db, ifExists); } @@ -75,7 +80,9 @@ } } - /** WARNING: Drops all table on Upgrade! Use only during development. */ + /** + * WARNING: Drops all table on Upgrade! Use only during development. + */ public static class DevOpenHelper extends OpenHelper { public DevOpenHelper(Context context, String name) { super(context, name); diff --git a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt index 209f1fc..91a4ba1 100644 --- a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt +++ b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt @@ -36,6 +36,7 @@ import com.casic.endoscope.widgets.AlertControlDialog import com.casic.endoscope.widgets.BluetoothDeviceDialog import com.casic.endoscope.widgets.LineChartMarkerView +import com.casic.endoscope.widgets.PreviewImageDialog import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.LineData import com.github.mikephil.charting.data.LineDataSet @@ -118,17 +119,6 @@ return ActivityMainBinding.inflate(layoutInflater) } - init { -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") - } - override fun initOnCreate(savedInstanceState: Bundle?) { //显示数据 weakReferenceHandler = WeakReferenceHandler(this) @@ -459,6 +449,11 @@ viewHolder.setOnClickListener(R.id.imageView) { //查看大图Dialog + PreviewImageDialog.Builder() + .setContext(context) + .setImagePath(item) + .build() + .show() } } } diff --git a/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt b/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt new file mode 100644 index 0000000..0910e9f --- /dev/null +++ b/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt @@ -0,0 +1,64 @@ +package com.casic.endoscope.widgets + +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import com.bumptech.glide.Glide +import com.casic.endoscope.R +import com.casic.endoscope.databinding.DialogPreviewImageBinding +import com.pengxh.kt.lite.extensions.binding +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth + +class PreviewImageDialog private constructor(builder: Builder) : Dialog( + builder.context, R.style.UserDefinedDialogStyle +) { + private val imagePath = builder.imagePath + + class Builder { + lateinit var context: Context + lateinit var imagePath: String + + fun setContext(context: Context): Builder { + this.context = context + return this + } + + fun setImagePath(imagePath: String): Builder { + this.imagePath = imagePath + return this + } + + fun build(): PreviewImageDialog { + return PreviewImageDialog(this) + } + } + + private val binding: DialogPreviewImageBinding by binding() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.initDialogLayoutParams() + setContentView(R.layout.dialog_preview_image) + setCancelable(true) + setCanceledOnTouchOutside(true) + + if (imagePath.isBlank()) { + return + } + + Glide.with(context).load(imagePath).into(binding.photoView) + } + + private fun Dialog.initDialogLayoutParams() { + val window = this.window ?: return + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + val params = window.attributes + params.width = ((context.getScreenWidth() * 0.65).toInt()) + params.height = ((context.getScreenHeight() * 0.58).toInt()) + window.attributes = params + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java index a455fd0..514d3ba 100644 --- a/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java +++ b/app/src/main/java/com/casic/endoscope/greendao/DaoMaster.java @@ -13,18 +13,23 @@ // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. + /** * Master of DAO (schema version 1): knows all DAOs. */ public class DaoMaster extends AbstractDaoMaster { public static final int SCHEMA_VERSION = 1; - /** Creates underlying database table using DAOs. */ + /** + * Creates underlying database table using DAOs. + */ public static void createAllTables(Database db, boolean ifNotExists) { GasValueBeanDao.createTable(db, ifNotExists); } - /** Drops underlying database table using DAOs. */ + /** + * Drops underlying database table using DAOs. + */ public static void dropAllTables(Database db, boolean ifExists) { GasValueBeanDao.dropTable(db, ifExists); } @@ -75,7 +80,9 @@ } } - /** WARNING: Drops all table on Upgrade! Use only during development. */ + /** + * WARNING: Drops all table on Upgrade! Use only during development. + */ public static class DevOpenHelper extends OpenHelper { public DevOpenHelper(Context context, String name) { super(context, name); diff --git a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt index 209f1fc..91a4ba1 100644 --- a/app/src/main/java/com/casic/endoscope/view/MainActivity.kt +++ b/app/src/main/java/com/casic/endoscope/view/MainActivity.kt @@ -36,6 +36,7 @@ import com.casic.endoscope.widgets.AlertControlDialog import com.casic.endoscope.widgets.BluetoothDeviceDialog import com.casic.endoscope.widgets.LineChartMarkerView +import com.casic.endoscope.widgets.PreviewImageDialog import com.github.mikephil.charting.data.Entry import com.github.mikephil.charting.data.LineData import com.github.mikephil.charting.data.LineDataSet @@ -118,17 +119,6 @@ return ActivityMainBinding.inflate(layoutInflater) } - init { -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") -// recyclerViewImages.add("/storage/emulated/0/Android/data/com.casic.endoscope/files/Pictures/2024-04-11/20240411170908.png") - } - override fun initOnCreate(savedInstanceState: Bundle?) { //显示数据 weakReferenceHandler = WeakReferenceHandler(this) @@ -459,6 +449,11 @@ viewHolder.setOnClickListener(R.id.imageView) { //查看大图Dialog + PreviewImageDialog.Builder() + .setContext(context) + .setImagePath(item) + .build() + .show() } } } diff --git a/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt b/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt new file mode 100644 index 0000000..0910e9f --- /dev/null +++ b/app/src/main/java/com/casic/endoscope/widgets/PreviewImageDialog.kt @@ -0,0 +1,64 @@ +package com.casic.endoscope.widgets + +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import com.bumptech.glide.Glide +import com.casic.endoscope.R +import com.casic.endoscope.databinding.DialogPreviewImageBinding +import com.pengxh.kt.lite.extensions.binding +import com.pengxh.kt.lite.extensions.getScreenHeight +import com.pengxh.kt.lite.extensions.getScreenWidth + +class PreviewImageDialog private constructor(builder: Builder) : Dialog( + builder.context, R.style.UserDefinedDialogStyle +) { + private val imagePath = builder.imagePath + + class Builder { + lateinit var context: Context + lateinit var imagePath: String + + fun setContext(context: Context): Builder { + this.context = context + return this + } + + fun setImagePath(imagePath: String): Builder { + this.imagePath = imagePath + return this + } + + fun build(): PreviewImageDialog { + return PreviewImageDialog(this) + } + } + + private val binding: DialogPreviewImageBinding by binding() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.initDialogLayoutParams() + setContentView(R.layout.dialog_preview_image) + setCancelable(true) + setCanceledOnTouchOutside(true) + + if (imagePath.isBlank()) { + return + } + + Glide.with(context).load(imagePath).into(binding.photoView) + } + + private fun Dialog.initDialogLayoutParams() { + val window = this.window ?: return + window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window.decorView.setBackgroundColor(Color.TRANSPARENT) + val params = window.attributes + params.width = ((context.getScreenWidth() * 0.65).toInt()) + params.height = ((context.getScreenHeight() * 0.58).toInt()) + window.attributes = params + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_preview_image.xml b/app/src/main/res/layout/dialog_preview_image.xml new file mode 100644 index 0000000..d90eb44 --- /dev/null +++ b/app/src/main/res/layout/dialog_preview_image.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file