diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt
index 1add48c..36e1642 100644
--- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/AppsFragment.kt
@@ -1,6 +1,7 @@
package com.xyzshell.myphoneinfo.dashboard
import android.os.Bundle
+import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
@@ -10,10 +11,14 @@ import com.xyzshell.myphoneinfo.R
import com.xyzshell.myphoneinfo.adapter.AppListAdapter
import com.xyzshell.myphoneinfo.databinding.FragmentAppsBinding
import com.xyzshell.myphoneinfo.dialog.AppDialogFragment
+import com.xyzshell.myphoneinfo.dialog.BottomDialogFragment
+import com.xyzshell.myphoneinfo.main.MainScrollActivity
class AppsFragment : Fragment(),AppListAdapter.OnShowDialogListener {
private lateinit var binding: FragmentAppsBinding
private lateinit var dialogFragment: AppDialogFragment
+ private lateinit var bottomDialog: BottomDialogFragment
+ private var sel: Int? = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
@@ -28,6 +33,14 @@ class AppsFragment : Fragment(),AppListAdapter.OnShowDialogListener {
adapter.setOnclickListener(this)
binding.recyclerView.adapter = adapter
binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
+ binding.llTitle.setOnClickListener {
+ bottomDialog= BottomDialogFragment(type = "apps", sel = sel, invoke = {item->
+ sel = item
+ })
+ Log.d("sel", sel.toString())
+ bottomDialog.show(requireActivity().supportFragmentManager, "BottomDialogFragment")
+ }
+
return binding.root
}
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt
index b124dcd..66300d4 100644
--- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/BatteryFragment.kt
@@ -6,8 +6,10 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentBatteryBinding
class BatteryFragment : Fragment() {
+ private lateinit var binding: FragmentBatteryBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
@@ -17,7 +19,13 @@ class BatteryFragment : Fragment() {
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
- return inflater.inflate(R.layout.fragment_battery, container, false)
+ binding = FragmentBatteryBinding.inflate(inflater, container, false)
+ initView()
+ return binding.root
+ }
+
+ private fun initView() {
+
}
companion object {
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt
index de83e00..453c7c5 100644
--- a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dashboard/HardWareFragment.kt
@@ -14,6 +14,7 @@ import com.xyzshell.myphoneinfo.dialog.DialogBlueTooth
import com.xyzshell.myphoneinfo.dialog.DialogDiskPart
import com.xyzshell.myphoneinfo.dialog.DialogExtension
import com.xyzshell.myphoneinfo.dialog.DialogInput
+import kotlin.math.roundToInt
class HardWareFragment : Fragment() {
private lateinit var binding: FragmentHardWareBinding
@@ -115,14 +116,24 @@ class HardWareFragment : Fragment() {
}
}
//display
+ val defaultDisplayInfo = AndInfo.instance.display.getDefaultDisplayInfo()
+ if(defaultDisplayInfo!=null){
+ binding.disText1.textContent.text=defaultDisplayInfo.widthPixels.toString()+"x"+defaultDisplayInfo.heightPixels.toString()
+ }
binding.disText1.textTitle.text=getString(R.string.resolution)
- binding.disText2.textTitle.text=getString(R.string.screen_density)
+
+ binding.disText2.textTitle.text=getString(R.string.screen_density)//这个是px
binding.disText3.textTitle.text=getString(R.string.screen_density_d)
+ val dpiStr=defaultDisplayInfo?.densityDpi.toString()+"(xxhdpi)\n"+defaultDisplayInfo?.xdpi?.roundToInt()+"dp"+defaultDisplayInfo?.ydpi?.roundToInt()+"dp"
+ binding.disText3.textContent.text=dpiStr
binding.disText4.textTitle.text=getString(R.string.screen_size_e)
binding.disText5.textTitle.text=getString(R.string.aspect_ratio)
binding.disText6.textTitle.text=getString(R.string.refresh_rate)
+ binding.disText6.textContent.text=defaultDisplayInfo?.refreshRate.toString()+"HZ"
binding.disText7.textTitle.text=getString(R.string.wide_color_gamut)
+ binding.disText7.textContent.text=defaultDisplayInfo?.isWideColorGamut.toString()
binding.disText8.textTitle.text=getString(R.string.hdr_support)
+ binding.disText8.textContent.text=defaultDisplayInfo?.isHdr.toString()
//memory
val storageInfo = AndInfo.instance.storage//存储信息
diff --git a/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/BottomDialogFragment.kt b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/BottomDialogFragment.kt
new file mode 100644
index 0000000..38017e6
--- /dev/null
+++ b/myphoneinfo/src/main/java/com/xyzshell/myphoneinfo/dialog/BottomDialogFragment.kt
@@ -0,0 +1,125 @@
+package com.xyzshell.myphoneinfo.dialog
+
+import android.app.Dialog
+import android.graphics.Color
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.view.Window
+import androidx.core.graphics.drawable.toDrawable
+import androidx.fragment.app.DialogFragment
+import com.xyzshell.myphoneinfo.R
+import com.xyzshell.myphoneinfo.databinding.FragmentBottomDialogBinding
+
+
+class BottomDialogFragment(val type:String, sel:Int? = null,val invoke:(Int)->Unit) : DialogFragment() {
+ private lateinit var vb: FragmentBottomDialogBinding
+ private var select=sel?:0
+ private var appType=type
+ companion object {
+ const val FROMAPP = "app"
+ const val USER = 0
+ const val SYSTEM = 1
+ const val ALL = 2
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View {
+ vb = FragmentBottomDialogBinding.inflate(layoutInflater)
+ init()
+ return vb.root
+ }
+
+ private fun showUI(select: Int) {
+ when (select) {
+ USER->{
+ vb.user.nameText.setTextColor(Color.parseColor("#3B948A"))
+ vb.user.check.visibility=View.VISIBLE
+ vb.system.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.system.check.visibility=View.GONE
+ vb.all.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.all.check.visibility=View.GONE
+ }
+ SYSTEM->{
+ vb.user.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.user.check.visibility=View.GONE
+ vb.system.nameText.setTextColor(Color.parseColor("#3B948A"))
+ vb.system.check.visibility=View.VISIBLE
+ vb.all.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.all.check.visibility=View.GONE
+ }
+ ALL->{
+ vb.user.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.user.check.visibility=View.GONE
+ vb.system.nameText.setTextColor(Color.parseColor("#C1C5C2"))
+ vb.system.check.visibility=View.GONE
+ vb.all.nameText.setTextColor(Color.parseColor("#3B948A"))
+ vb.all.check.visibility=View.VISIBLE
+ }
+
+ }
+ }
+
+ override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+ val dialog = super.onCreateDialog(savedInstanceState)
+
+ dialog.window?.apply {
+ requestFeature(Window.FEATURE_NO_TITLE)
+ setWindowAnimations(R.style.BottomSheetDialogStyle)
+ setLayout(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT
+ )
+ setGravity(Gravity.BOTTOM)
+ }
+
+ return dialog
+ }
+
+ override fun onStart() {
+ super.onStart()
+ dialog?.apply {
+ setCanceledOnTouchOutside(true)
+ window?.apply {
+ setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
+ setLayout(
+ ViewGroup.LayoutParams.MATCH_PARENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT
+ )
+ }
+ }
+ }
+
+
+ private fun init() {
+ vb.user.nameText.text=getString(R.string.user)
+ vb.system.nameText.text=getString(R.string.system)
+ vb.all.nameText.text=getString(R.string.all)
+ showUI(select)
+ if(appType == FROMAPP){
+ showUI(select)
+ }
+ vb.user.root.setOnClickListener {
+ showUI(USER)
+ invoke(USER)
+ dismiss()
+ }
+
+ vb.system.root.setOnClickListener {
+ showUI(SYSTEM)
+ invoke(SYSTEM)
+ dismiss()
+ }
+ vb.all.root.setOnClickListener {
+ showUI(ALL)
+ invoke(ALL)
+ dismiss()
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/drawable/dialog_top_background.xml b/myphoneinfo/src/main/res/drawable/dialog_top_background.xml
new file mode 100644
index 0000000..f30b600
--- /dev/null
+++ b/myphoneinfo/src/main/res/drawable/dialog_top_background.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/fragment_apps.xml b/myphoneinfo/src/main/res/layout/fragment_apps.xml
index bd7498d..edd8b09 100644
--- a/myphoneinfo/src/main/res/layout/fragment_apps.xml
+++ b/myphoneinfo/src/main/res/layout/fragment_apps.xml
@@ -23,16 +23,30 @@
android:background="@drawable/dashboard_model_background"
android:paddingVertical="15sp"
android:orientation="vertical">
-
+ android:gravity="center_vertical"
+ android:paddingHorizontal="20dp"
+ android:paddingVertical="10dp"
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/layout/item_bottom_dialog.xml b/myphoneinfo/src/main/res/layout/item_bottom_dialog.xml
new file mode 100644
index 0000000..3d71879
--- /dev/null
+++ b/myphoneinfo/src/main/res/layout/item_bottom_dialog.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/app_more.png b/myphoneinfo/src/main/res/mipmap-xhdpi/app_more.png
new file mode 100644
index 0000000..56c33e3
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/app_more.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/select.png b/myphoneinfo/src/main/res/mipmap-xhdpi/select.png
new file mode 100644
index 0000000..9e1fc79
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/select.png differ
diff --git a/myphoneinfo/src/main/res/mipmap-xhdpi/user_bottom.png b/myphoneinfo/src/main/res/mipmap-xhdpi/user_bottom.png
new file mode 100644
index 0000000..99fffce
Binary files /dev/null and b/myphoneinfo/src/main/res/mipmap-xhdpi/user_bottom.png differ