diff --git a/app/src/main/java/com/tools/device/devcheck/adapter/AppListAdapter.kt b/app/src/main/java/com/tools/device/devcheck/adapter/AppListAdapter.kt index cefdb38..fde466a 100644 --- a/app/src/main/java/com/tools/device/devcheck/adapter/AppListAdapter.kt +++ b/app/src/main/java/com/tools/device/devcheck/adapter/AppListAdapter.kt @@ -3,6 +3,7 @@ package com.tools.device.devcheck.adapter import android.app.Activity import android.content.Context import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.tools.device.devcheck.dialog.AppDialogFragment @@ -28,13 +29,18 @@ class AppListAdapter: RecyclerView.Adapter() { holder.binding.view.setOnClickListener { listener.onShowAppSelectDialog() } + if(position==itemCount-1){ + holder.binding.view2.visibility=View.VISIBLE + }else{ + holder.binding.view2.visibility=View.GONE + } } fun setOnclickListener(listener: OnShowDialogListener) { this.listener = listener } override fun getItemCount(): Int { - return 3 + return 13 } class ListViewHolder(val binding: ItemAppListBinding): RecyclerView.ViewHolder(binding.root) diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/AnalysisActivity.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/AnalysisActivity.kt index 4442aaf..b0ccadc 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/AnalysisActivity.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/AnalysisActivity.kt @@ -17,6 +17,7 @@ class AnalysisActivity : AppCompatActivity() { binding.timeShow.setOnClickListener { startActivity(Intent(this, CpuStatusActivity::class.java)) } + binding.backBtn.setOnClickListener { finish() } initText() initShow() } diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/AppsFragment.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/AppsFragment.kt index 3dfafe9..5b93427 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/AppsFragment.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/AppsFragment.kt @@ -24,7 +24,6 @@ class AppsFragment : Fragment(),AppListAdapter.OnShowDialogListener { ): View? { // Inflate the layout for this fragment binding = FragmentAppsBinding.inflate(inflater, container, false) - initButtons() val adapter= AppListAdapter() adapter.setOnclickListener(this) binding.recyclerView.adapter = adapter @@ -41,44 +40,6 @@ class AppsFragment : Fragment(),AppListAdapter.OnShowDialogListener { } } } - private fun initButtons() { - switchTab(0) - binding.llUser.setOnClickListener { switchTab(0) } - binding.llSystem.setOnClickListener { switchTab(1) } - binding.llAll.setOnClickListener { switchTab(2) } - } - - private fun switchTab(n: Int) { - when(n){ - 0->{ - binding.back1.visibility = View.VISIBLE - binding.back2.visibility = View.INVISIBLE - binding.back3.visibility = View.INVISIBLE - binding.imgUser.isSelected = true - binding.imgSystem.isSelected = false - binding.imgAll.isSelected = false - binding.tvTitle.text=getString(R.string.user_apps)+"("+30+")" - } - 1->{ - binding.back1.visibility = View.INVISIBLE - binding.back2.visibility = View.VISIBLE - binding.back3.visibility = View.INVISIBLE - binding.imgUser.isSelected = false - binding.imgSystem.isSelected = true - binding.imgAll.isSelected = false - binding.tvTitle.text=getString(R.string.system_apps)+"("+30+")" - } - 2->{ - binding.back1.visibility = View.INVISIBLE - binding.back2.visibility = View.INVISIBLE - binding.back3.visibility = View.VISIBLE - binding.imgUser.isSelected = false - binding.imgSystem.isSelected = false - binding.imgAll.isSelected = true - binding.tvTitle.text=getString(R.string.installed_apps)+"("+30+")" - } - } - } override fun onShowAppSelectDialog() { dialogFragment = AppDialogFragment() diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/CameraFragment.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/CameraFragment.kt index 4f29150..ae2c475 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/CameraFragment.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/CameraFragment.kt @@ -7,10 +7,12 @@ import android.view.View import android.view.ViewGroup import com.tools.device.devcheck.R import com.tools.device.devcheck.databinding.FragmentCameraBinding +import com.tools.device.devcheck.dialog.DialogCameraMore class CameraFragment : Fragment() { private lateinit var binding:FragmentCameraBinding; - // TODO: Rename and change types of parameters + private var dialogCamera0: DialogCameraMore? = null + private var dialogCamera1: DialogCameraMore? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -26,6 +28,14 @@ class CameraFragment : Fragment() { // Inflate the layout for this fragment binding = FragmentCameraBinding.inflate(inflater, container, false) initText() + binding.rearMore.setOnClickListener { + dialogCamera0= dialogCamera0?:DialogCameraMore(0) + dialogCamera0?.show(childFragmentManager, "DialogCameraMore0") + } + binding.frontMore.setOnClickListener { + dialogCamera1= dialogCamera1?:DialogCameraMore(1) + dialogCamera1?.show(childFragmentManager, "DialogCameraMore1") + } return binding.root } diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/HardWareFragment.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/HardWareFragment.kt index bc0d26f..c90dbac 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/HardWareFragment.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/HardWareFragment.kt @@ -9,12 +9,16 @@ import android.view.ViewGroup import com.tools.device.devcheck.R import com.tools.device.devcheck.databinding.FragmentHardWareBinding import com.tools.device.devcheck.dialog.DialogBlueTooth +import com.tools.device.devcheck.dialog.DialogDiskPart +import com.tools.device.devcheck.dialog.DialogExtension import com.tools.device.devcheck.dialog.DialogInput class HardWareFragment : Fragment() { private lateinit var binding: FragmentHardWareBinding private var dialogBlueTooth: DialogBlueTooth? = null private var dialogInput: DialogInput? = null + private var dialogExtension: DialogExtension? = null + private var dialogDiskPart: DialogDiskPart? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -41,6 +45,14 @@ class HardWareFragment : Fragment() { dialogInput=dialogInput?: DialogInput() dialogInput?.show(childFragmentManager, "Input") } + binding.extensionShow.setOnClickListener { + dialogExtension=dialogExtension?: DialogExtension() + dialogExtension?.show(childFragmentManager, "Extention") + } + binding.disktext.setOnClickListener { + dialogDiskPart=dialogDiskPart?: DialogDiskPart() + dialogDiskPart?.show(childFragmentManager, "DiskPart") + } initText() return binding.root } diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/SensorEachActivity.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/SensorEachActivity.kt index f5bb36a..144dda5 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/SensorEachActivity.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/SensorEachActivity.kt @@ -7,11 +7,13 @@ import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import com.tools.device.devcheck.R import com.tools.device.devcheck.databinding.ActivitySensorEachBinding +import com.tools.device.devcheck.dialog.CustomPopView class SensorEachActivity : AppCompatActivity() { companion object{ const val TOP_TITLE = "title" } + private lateinit var customPopView: CustomPopView private lateinit var binding: ActivitySensorEachBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -22,6 +24,12 @@ class SensorEachActivity : AppCompatActivity() { binding.imgBack.setOnClickListener { finish() } + customPopView =CustomPopView(this,4,callback = {text-> + + }) + binding.imageTool.setOnClickListener { + customPopView.show(binding.imageTool) + } initText() } diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/TestActivity.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/TestActivity.kt index 0808267..e3affa1 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/TestActivity.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/TestActivity.kt @@ -17,6 +17,7 @@ class TestActivity : AppCompatActivity() { } private fun initClick() { + binding.backBtn.setOnClickListener { finish() } binding.toolItem1.root.setOnClickListener { intent = Intent(this, TestOtherActivity::class.java) intent.putExtra(TestOtherActivity.TYPE_KEY, getString(R.string.flashlight)) diff --git a/app/src/main/java/com/tools/device/devcheck/dashboard/TestOtherActivity.kt b/app/src/main/java/com/tools/device/devcheck/dashboard/TestOtherActivity.kt index e94107a..0c84c43 100644 --- a/app/src/main/java/com/tools/device/devcheck/dashboard/TestOtherActivity.kt +++ b/app/src/main/java/com/tools/device/devcheck/dashboard/TestOtherActivity.kt @@ -20,6 +20,7 @@ class TestOtherActivity : AppCompatActivity() { super.onCreate(savedInstanceState) binding = ActivityTestOtherBinding.inflate(layoutInflater) setContentView(binding.root) + binding.back.setOnClickListener { finish() } when (intent.getStringExtra(TYPE_KEY)) { getString(R.string.flashlight) -> { binding.title.text = getString(R.string.flashlight) diff --git a/app/src/main/java/com/tools/device/devcheck/dialog/CustomPopView.kt b/app/src/main/java/com/tools/device/devcheck/dialog/CustomPopView.kt index a6926e3..e955e9e 100644 --- a/app/src/main/java/com/tools/device/devcheck/dialog/CustomPopView.kt +++ b/app/src/main/java/com/tools/device/devcheck/dialog/CustomPopView.kt @@ -42,7 +42,7 @@ class CustomPopView(context: Context,type: Int,private val callback: (String) -> setType() } - private fun setType() {//0:簇1或簇2 1:隐藏深度休眠 2:主页更多 + private fun setType() {//0:簇1或簇2 1:隐藏深度休眠 2:主页更多 3:公制单位和重置 4:公制单位 when (type) { 0 -> { binding.popCluster.visibility = View.VISIBLE @@ -83,6 +83,13 @@ class CustomPopView(context: Context,type: Int,private val callback: (String) -> binding.popMore.visibility = View.VISIBLE binding.llHide.visibility = View.GONE } + 4->{ + binding.popCluster.visibility = View.GONE + binding.popSleep.visibility = View.GONE + binding.popMore.visibility = View.VISIBLE + binding.llMore2.visibility = View.GONE + binding.llHide.visibility = View.GONE + } } } diff --git a/app/src/main/java/com/tools/device/devcheck/dialog/DialogCameraMore.kt b/app/src/main/java/com/tools/device/devcheck/dialog/DialogCameraMore.kt new file mode 100644 index 0000000..0e1ad15 --- /dev/null +++ b/app/src/main/java/com/tools/device/devcheck/dialog/DialogCameraMore.kt @@ -0,0 +1,36 @@ +package com.tools.device.devcheck.dialog + +import android.graphics.Typeface +import android.os.Bundle +import android.text.SpannableString +import android.text.style.StyleSpan +import android.view.View +import com.tools.device.devcheck.R +import com.tools.device.devcheck.base.BaseDialogFragment +import com.tools.device.devcheck.databinding.DialogCameraMoreBinding +import com.tools.device.devcheck.databinding.DialogCpuInfoBinding + +class DialogCameraMore(private val type:Int) :BaseDialogFragment(DialogCameraMoreBinding::inflate){ + override fun getTitle(): String = if(type==0){ + resources.getString(R.string.rear_camera_1)} + else{ + resources.getString(R.string.front_camera_1) + } + + override fun getIconRes(): Int? =9 + + override fun getDoubleBtn(): Boolean? = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + + override fun onNegativeClick() { + super.onNegativeClick() + + } + + override fun onPositiveClick() { + super.onPositiveClick() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tools/device/devcheck/dialog/DialogDiskPart.kt b/app/src/main/java/com/tools/device/devcheck/dialog/DialogDiskPart.kt new file mode 100644 index 0000000..176177c --- /dev/null +++ b/app/src/main/java/com/tools/device/devcheck/dialog/DialogDiskPart.kt @@ -0,0 +1,29 @@ +package com.tools.device.devcheck.dialog + +import android.os.Bundle +import android.view.View +import com.tools.device.devcheck.R +import com.tools.device.devcheck.base.BaseDialogFragment +import com.tools.device.devcheck.databinding.DialogDiskPartBinding +import com.tools.device.devcheck.databinding.DialogExtentionBinding + +class DialogDiskPart :BaseDialogFragment(DialogDiskPartBinding::inflate){ + override fun getTitle(): String = resources.getString(R.string.disk_partitions) + + override fun getIconRes(): Int? =8 + + override fun getDoubleBtn(): Boolean? = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + + override fun onNegativeClick() { + super.onNegativeClick() + + } + + override fun onPositiveClick() { + super.onPositiveClick() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tools/device/devcheck/dialog/DialogExtension.kt b/app/src/main/java/com/tools/device/devcheck/dialog/DialogExtension.kt new file mode 100644 index 0000000..29105fb --- /dev/null +++ b/app/src/main/java/com/tools/device/devcheck/dialog/DialogExtension.kt @@ -0,0 +1,28 @@ +package com.tools.device.devcheck.dialog + +import android.os.Bundle +import android.view.View +import com.tools.device.devcheck.R +import com.tools.device.devcheck.base.BaseDialogFragment +import com.tools.device.devcheck.databinding.DialogExtentionBinding + +class DialogExtension :BaseDialogFragment(DialogExtentionBinding::inflate){ + override fun getTitle(): String = resources.getString(R.string.extensions) + + override fun getIconRes(): Int? =6 + + override fun getDoubleBtn(): Boolean? = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + + override fun onNegativeClick() { + super.onNegativeClick() + + } + + override fun onPositiveClick() { + super.onPositiveClick() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/tools/device/devcheck/dialog/TempDialogFragment.kt b/app/src/main/java/com/tools/device/devcheck/dialog/TempDialogFragment.kt index 235fe48..b60fb35 100644 --- a/app/src/main/java/com/tools/device/devcheck/dialog/TempDialogFragment.kt +++ b/app/src/main/java/com/tools/device/devcheck/dialog/TempDialogFragment.kt @@ -10,10 +10,11 @@ import android.view.WindowManager import androidx.core.graphics.drawable.toDrawable import androidx.fragment.app.DialogFragment import com.tools.device.devcheck.databinding.DialogAppClickBinding +import com.tools.device.devcheck.databinding.DialogTempBinding class TempDialogFragment : DialogFragment() { - private var _binding: DialogAppClickBinding? = null + private var _binding: DialogTempBinding? = null private val baseBinding get() = _binding!! @@ -24,7 +25,7 @@ class TempDialogFragment : DialogFragment() { container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = DialogAppClickBinding.inflate(inflater, container, false) + _binding = DialogTempBinding.inflate(inflater, container, false) return baseBinding.root } diff --git a/app/src/main/java/com/tools/device/devcheck/main/MainActivity.kt b/app/src/main/java/com/tools/device/devcheck/main/MainActivity.kt index c23a80d..f9d8f3e 100644 --- a/app/src/main/java/com/tools/device/devcheck/main/MainActivity.kt +++ b/app/src/main/java/com/tools/device/devcheck/main/MainActivity.kt @@ -1,6 +1,7 @@ package com.tools.device.devcheck.main import android.view.LayoutInflater +import android.view.View import android.widget.ImageView import androidx.core.view.isVisible import androidx.viewpager2.widget.ViewPager2 @@ -43,7 +44,7 @@ class MainActivity : BaseActivity() { registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() { override fun onPageSelected(position: Int) { super.onPageSelected(position) - + updateButtonVisibility(position) } }) }) { tab, position -> @@ -62,6 +63,67 @@ class MainActivity : BaseActivity() { binding.imageTool.setOnClickListener { customPopView.show(binding.imageTool) } + binding.searchIcon.setOnClickListener { + binding.textAppName.visibility= View.GONE + binding.imageTool.visibility= View.GONE + binding.searchIcon.visibility= View.GONE + binding.searchLayout.visibility= View.VISIBLE + } + binding.searchClose.setOnClickListener { + binding.textAppName.visibility= View.VISIBLE + binding.imageTool.visibility= View.VISIBLE + binding.searchIcon.visibility= View.VISIBLE + binding.searchLayout.visibility= View.GONE + } + initButtons() + } + private fun updateButtonVisibility(currentPosition: Int) { + if (currentPosition == 5) { + // 在 AppsFragment 时显示特殊按钮 + binding.searchIcon.visibility = View.VISIBLE + binding.llBottom.visibility= View.VISIBLE + } else { + // 在其他 Fragment 时隐藏特殊按钮 + binding.searchIcon.visibility = View.GONE + binding.llBottom.visibility= View.GONE + } + } + private fun initButtons() { + switchTab(0) + binding.llUser.setOnClickListener { switchTab(0) } + binding.llSystem.setOnClickListener { switchTab(1) } + binding.llAll.setOnClickListener { switchTab(2) } + } + private fun switchTab(n: Int) { + when(n){ + 0->{ + binding.back1.visibility = View.VISIBLE + binding.back2.visibility = View.INVISIBLE + binding.back3.visibility = View.INVISIBLE + binding.imgUser.isSelected = true + binding.imgSystem.isSelected = false + binding.imgAll.isSelected = false +// binding.tvTitle.text=getString(R.string.user_apps)+"("+30+")" + } + 1->{ + binding.back1.visibility = View.INVISIBLE + binding.back2.visibility = View.VISIBLE + binding.back3.visibility = View.INVISIBLE + binding.imgUser.isSelected = false + binding.imgSystem.isSelected = true + binding.imgAll.isSelected = false +// binding.tvTitle.text=getString(R.string.system_apps)+"("+30+")" + } + 2->{ + binding.back1.visibility = View.INVISIBLE + binding.back2.visibility = View.INVISIBLE + binding.back3.visibility = View.VISIBLE + binding.imgUser.isSelected = false + binding.imgSystem.isSelected = false + binding.imgAll.isSelected = true +// binding.tvTitle.text=getString(R.string.installed_apps)+"("+30+")" + } + } } override fun initData() { diff --git a/app/src/main/res/drawable/main_close.png b/app/src/main/res/drawable/main_close.png new file mode 100644 index 0000000..1dba2c9 Binary files /dev/null and b/app/src/main/res/drawable/main_close.png differ diff --git a/app/src/main/res/drawable/search_icon.png b/app/src/main/res/drawable/search_icon.png new file mode 100644 index 0000000..8342575 Binary files /dev/null and b/app/src/main/res/drawable/search_icon.png differ diff --git a/app/src/main/res/layout/activity_analysis.xml b/app/src/main/res/layout/activity_analysis.xml index 5bdb5fc..914f58e 100644 --- a/app/src/main/res/layout/activity_analysis.xml +++ b/app/src/main/res/layout/activity_analysis.xml @@ -16,6 +16,7 @@ android:background="@color/white" android:orientation="vertical"> + + + + + + + + + + @@ -77,4 +127,127 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_test.xml b/app/src/main/res/layout/activity_test.xml index 3cb1d89..1a3156d 100644 --- a/app/src/main/res/layout/activity_test.xml +++ b/app/src/main/res/layout/activity_test.xml @@ -16,6 +16,7 @@ android:background="@color/white" android:orientation="vertical"> + diff --git a/app/src/main/res/layout/dialog_camera_more.xml b/app/src/main/res/layout/dialog_camera_more.xml new file mode 100644 index 0000000..f1f0ab2 --- /dev/null +++ b/app/src/main/res/layout/dialog_camera_more.xml @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_disk_part.xml b/app/src/main/res/layout/dialog_disk_part.xml new file mode 100644 index 0000000..f2412fc --- /dev/null +++ b/app/src/main/res/layout/dialog_disk_part.xml @@ -0,0 +1,290 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_extention.xml b/app/src/main/res/layout/dialog_extention.xml new file mode 100644 index 0000000..812d579 --- /dev/null +++ b/app/src/main/res/layout/dialog_extention.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_storage.xml b/app/src/main/res/layout/dialog_storage.xml index 052e2f1..f919258 100644 --- a/app/src/main/res/layout/dialog_storage.xml +++ b/app/src/main/res/layout/dialog_storage.xml @@ -202,7 +202,7 @@ android:textSize="15sp" android:text="@string/apps" tools:ignore="RelativeOverlap" /> - > + - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_sensors.xml b/app/src/main/res/layout/fragment_sensors.xml index a3e26d6..4470882 100644 --- a/app/src/main/res/layout/fragment_sensors.xml +++ b/app/src/main/res/layout/fragment_sensors.xml @@ -85,7 +85,7 @@ - - + + - + android:layout_marginStart="24dp" + android:orientation="vertical"> + + + - + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0dcad0d..5530eca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -278,5 +278,12 @@ Set as: Temperature1 Temperature2 + Megapixels + Aperture + Focal length + 35mm equival entfocal length + Crop factor + Field of view + ISO sensitivity range \ No newline at end of file