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.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")
|
||||
}
|
||||
|
||||
|
||||
@ -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>(DialogCameraMoreBinding::inflate){
|
||||
class DialogCameraMore(private val name:String,private val id:String) :BaseDialogFragment<DialogCameraMoreBinding>(DialogCameraMoreBinding::inflate){
|
||||
override fun getTitle(): String = name
|
||||
|
||||
override fun getIconRes(): Int? =9
|
||||
|
||||
Loading…
Reference in New Issue
Block a user