diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SetNumberUtils.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SetNumberUtils.kt new file mode 100644 index 0000000..e67e60d --- /dev/null +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/custom/SetNumberUtils.kt @@ -0,0 +1,10 @@ +package com.xyzshell.myphoneinfo.custom + +object SetNumberUtils { + fun setDecimal1(double: Double): String{ + return "%.1f".format(double) + } + fun setDecimal0(double: Double): String{ + return double.toInt().toString() + } +} \ No newline at end of file diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt index fa97463..4cb1e36 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/CameraFragment.kt @@ -10,6 +10,8 @@ import androidx.fragment.app.FragmentContainer import com.google.android.material.textview.MaterialTextView import com.xyzshell.andinfo.AndInfo import com.xyzshell.myphoneinfo.R +import com.xyzshell.myphoneinfo.custom.SetNumberUtils.setDecimal0 +import com.xyzshell.myphoneinfo.custom.SetNumberUtils.setDecimal1 import com.xyzshell.myphoneinfo.databinding.FragmentCameraBinding import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding import com.xyzshell.myphoneinfo.dialog.DialogCameraMore @@ -60,21 +62,10 @@ class CameraFragment : Fragment() { "FRONT" -> getString(R.string.front_camera_1) + "${index + 1}" "BACK" -> getString(R.string.rear_camera_1)+"${index + 1}" - else -> "camera ${index + 1}" + else -> "External Camera ${index + 1}" } itemBinding.titleCon.text = cameraName - // 3. 设置相机规格参数 - - cameraInfo.getPixelArraySize(it)?.let { size -> - itemBinding.conText1.text = "${size} MP" - } - - cameraInfo.getAvailableApertures(it)?.let { apertures -> - if (apertures.isNotEmpty()) { - itemBinding.conText2.text = "f/${apertures[0]}" // 取第一个光圈值 - } - } // 4. 设置详细信息(使用 include 的文本) @@ -86,9 +77,18 @@ class CameraFragment : Fragment() { itemBinding.camText6.textTitle.text=getString(R.string.iso_sensitivity_range) itemBinding.rearCheck2.content.text=getString(R.string.flash) itemBinding.rearCheck1.content.text=getString(R.string.optical_image_stabilization) -// checkBox2?.text = "光学防抖" -// checkBox2?.isChecked = capabilities?.contains("OPTICAL_IMAGE_STABILIZATION") ?: false + // 设置百万像素 + + cameraInfo.getMegaPixels(it)?.let { size -> + itemBinding.conText1.text = "${setDecimal1(size)} MP" + } + //光圈值 + cameraInfo.getAvailableApertures(it)?.let { apertures -> + if (apertures.isNotEmpty()) { + itemBinding.conText2.text = "f/${apertures[0]}" // 取第一个光圈值 + } + } //像素阵列大小 cameraInfo.getPixelArraySize(it)?.let { size -> itemBinding.camText1.textContent.text = size @@ -98,18 +98,37 @@ class CameraFragment : Fragment() { cameraInfo.getSensorPhysicalSize(it)?.let { size -> itemBinding.camText2.textContent.text=size } + // 传感器物理尺寸 + cameraInfo.getPixelSize(it)?.let { size -> + itemBinding.camText3.textContent.text="${setDecimal0(size)}μm" + } + // 35mm等效焦距 + cameraInfo.getFocal35mmEquivalent(it)?.let { size -> + itemBinding.camText4.textContent.text="${size.toInt()}mm" + } + // 快门速度 + cameraInfo.getShutterSpeedRange(it)?.let { size -> + itemBinding.camText5.textContent.text=size + } + + // ISO感光范围 + cameraInfo.getIsoRange(it)?.let { size -> + itemBinding.camText6.textContent.text=size.lower.toString() + " - " + size.upper.toString() + } + // 光学防抖 + cameraInfo.hasOpticalStabilization(it).let { hasOpticalStabilization -> + itemBinding.rearCheck1.image.isSelected=hasOpticalStabilization + } // 闪光灯 cameraInfo.hasFlashUnit(it)?.let { hasFlash -> itemBinding.rearCheck2.image.isSelected=hasFlash } - - // 6. 设置"更多"按钮点击事件 itemBinding.rearMore.setOnClickListener { var dialogCamera0: DialogCameraMore? = null - dialogCamera0= null ?:DialogCameraMore(cameraName) + dialogCamera0= null ?:DialogCameraMore(cameraName,cameraId) dialogCamera0.show(childFragmentManager, "DialogCameraMore") } diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt index 860b86e..687f79e 100644 --- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt +++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/DialogCameraMore.kt @@ -10,7 +10,7 @@ import com.xyzshell.myphoneinfo.base.BaseDialogFragment import com.xyzshell.myphoneinfo.databinding.DialogCameraMoreBinding import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding -class DialogCameraMore(private val name:String) :BaseDialogFragment(DialogCameraMoreBinding::inflate){ +class DialogCameraMore(private val name:String,private val id:String) :BaseDialogFragment(DialogCameraMoreBinding::inflate){ override fun getTitle(): String = name override fun getIconRes(): Int? =9