camera
This commit is contained in:
parent
b760e154a4
commit
a7a0d45d9b
@ -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()
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -10,6 +10,8 @@ import androidx.fragment.app.FragmentContainer
|
|||||||
import com.google.android.material.textview.MaterialTextView
|
import com.google.android.material.textview.MaterialTextView
|
||||||
import com.xyzshell.andinfo.AndInfo
|
import com.xyzshell.andinfo.AndInfo
|
||||||
import com.xyzshell.myphoneinfo.R
|
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.FragmentCameraBinding
|
||||||
import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding
|
import com.xyzshell.myphoneinfo.databinding.ItemCameraTypeBinding
|
||||||
import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
|
import com.xyzshell.myphoneinfo.dialog.DialogCameraMore
|
||||||
@ -60,21 +62,10 @@ class CameraFragment : Fragment() {
|
|||||||
"FRONT" -> getString(R.string.front_camera_1) + "${index + 1}"
|
"FRONT" -> getString(R.string.front_camera_1) + "${index + 1}"
|
||||||
"BACK" -> getString(R.string.rear_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
|
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 的文本)
|
// 4. 设置详细信息(使用 include 的文本)
|
||||||
|
|
||||||
@ -86,9 +77,18 @@ class CameraFragment : Fragment() {
|
|||||||
itemBinding.camText6.textTitle.text=getString(R.string.iso_sensitivity_range)
|
itemBinding.camText6.textTitle.text=getString(R.string.iso_sensitivity_range)
|
||||||
itemBinding.rearCheck2.content.text=getString(R.string.flash)
|
itemBinding.rearCheck2.content.text=getString(R.string.flash)
|
||||||
itemBinding.rearCheck1.content.text=getString(R.string.optical_image_stabilization)
|
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 ->
|
cameraInfo.getPixelArraySize(it)?.let { size ->
|
||||||
itemBinding.camText1.textContent.text = size
|
itemBinding.camText1.textContent.text = size
|
||||||
@ -98,18 +98,37 @@ class CameraFragment : Fragment() {
|
|||||||
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
cameraInfo.getSensorPhysicalSize(it)?.let { size ->
|
||||||
itemBinding.camText2.textContent.text=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 ->
|
cameraInfo.hasFlashUnit(it)?.let { hasFlash ->
|
||||||
itemBinding.rearCheck2.image.isSelected=hasFlash
|
itemBinding.rearCheck2.image.isSelected=hasFlash
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 6. 设置"更多"按钮点击事件
|
// 6. 设置"更多"按钮点击事件
|
||||||
itemBinding.rearMore.setOnClickListener {
|
itemBinding.rearMore.setOnClickListener {
|
||||||
var dialogCamera0: DialogCameraMore? = null
|
var dialogCamera0: DialogCameraMore? = null
|
||||||
dialogCamera0= null ?:DialogCameraMore(cameraName)
|
dialogCamera0= null ?:DialogCameraMore(cameraName,cameraId)
|
||||||
dialogCamera0.show(childFragmentManager, "DialogCameraMore")
|
dialogCamera0.show(childFragmentManager, "DialogCameraMore")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import com.xyzshell.myphoneinfo.base.BaseDialogFragment
|
|||||||
import com.xyzshell.myphoneinfo.databinding.DialogCameraMoreBinding
|
import com.xyzshell.myphoneinfo.databinding.DialogCameraMoreBinding
|
||||||
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
import com.xyzshell.myphoneinfo.databinding.DialogCpuInfoBinding
|
||||||
|
|
||||||
class DialogCameraMore(private val name:String) :BaseDialogFragment<DialogCameraMoreBinding>(DialogCameraMoreBinding::inflate){
|
class DialogCameraMore(private val name:String,private val id:String) :BaseDialogFragment<DialogCameraMoreBinding>(DialogCameraMoreBinding::inflate){
|
||||||
override fun getTitle(): String = name
|
override fun getTitle(): String = name
|
||||||
|
|
||||||
override fun getIconRes(): Int? =9
|
override fun getIconRes(): Int? =9
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user