diff --git a/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt b/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt
index e3f3aca..2f0e7bc 100644
--- a/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt
+++ b/app/src/main/java/com/example/defenseapplication/home/HomeMenuFragment.kt
@@ -1,12 +1,17 @@
package com.example.defenseapplication.home
+import android.graphics.Color
+import android.graphics.Rect
+import android.graphics.drawable.GradientDrawable
import android.os.Bundle
+import android.util.TypedValue
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import com.example.defenseapplication.adapter.DeviceAdapter
import com.example.defenseapplication.adapter.DeviceUi
import com.example.defenseapplication.adapter.FamilyAdapter
@@ -49,6 +54,17 @@ class HomeMenuFragment : Fragment() {
return binding.root
}
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ // 为 LinearLayout 设置渐变背景
+ setGradientBackground(
+ view = binding.gradientLayout,
+ startColor = Color.parseColor("#EBDCED"),
+ endColor = Color.parseColor("#CAF4FF")
+ )
+ }
+
private fun initView() {
binding.rvFamilyList.layoutManager = LinearLayoutManager(requireContext())
binding.rvFamilyList.adapter = familyAdapter
@@ -56,6 +72,11 @@ class HomeMenuFragment : Fragment() {
binding.rvDeviceList.layoutManager = GridLayoutManager(requireContext(), 2)
binding.rvDeviceList.adapter = deviceAdapter
+ if (binding.rvDeviceList.itemDecorationCount == 0) {
+ binding.rvDeviceList.addItemDecoration(
+ GridHorizontalSpaceItemDecoration(horizontalSpace = dpToPx(8))
+ )
+ }
updateDeviceList()
binding.tvCurrentFamily.text = currentFamily
@@ -94,6 +115,45 @@ class HomeMenuFragment : Fragment() {
deviceAdapter.submitList(familyDeviceMap[currentFamily].orEmpty())
}
+ private fun dpToPx(dp: Int): Int {
+ return TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_DIP,
+ dp.toFloat(),
+ resources.displayMetrics
+ ).toInt()
+ }
+
+ private class GridHorizontalSpaceItemDecoration(
+ private val horizontalSpace: Int
+ ) : RecyclerView.ItemDecoration() {
+ override fun getItemOffsets(
+ outRect: Rect,
+ view: View,
+ parent: RecyclerView,
+ state: RecyclerView.State
+ ) {
+ val position = parent.getChildAdapterPosition(view)
+ if (position == RecyclerView.NO_POSITION) return
+
+ if (position % 2 == 0) {
+ outRect.right = horizontalSpace / 2
+ } else {
+ outRect.left = horizontalSpace / 2
+ }
+ }
+ }
+
+ private fun setGradientBackground(
+ view: View,
+ startColor: Int,
+ endColor: Int,
+ orientation: GradientDrawable.Orientation = GradientDrawable.Orientation.TL_BR
+ ) {
+ val gradientDrawable = GradientDrawable(orientation, intArrayOf(startColor, endColor))
+ gradientDrawable.gradientType = GradientDrawable.LINEAR_GRADIENT
+ view.background = gradientDrawable
+ }
+
override fun onDestroyView() {
super.onDestroyView()
binding.rvFamilyList.adapter = null
diff --git a/app/src/main/java/com/example/defenseapplication/login/ForgetPasswordActivity.kt b/app/src/main/java/com/example/defenseapplication/login/ForgetPasswordActivity.kt
index 3e6e72c..59f22c3 100644
--- a/app/src/main/java/com/example/defenseapplication/login/ForgetPasswordActivity.kt
+++ b/app/src/main/java/com/example/defenseapplication/login/ForgetPasswordActivity.kt
@@ -1,5 +1,7 @@
package com.example.defenseapplication.login
+import android.graphics.Color
+import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.os.CountDownTimer
import android.text.InputType
@@ -32,7 +34,10 @@ class ForgetPasswordActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
binding = ForgetPasswordActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
-
+ // 设置渐变背景
+ val startColor = Color.parseColor("#CBEBFA")
+ val endColor = Color.parseColor("#FFF2EF")
+ setGradientBackground(binding.main, startColor, endColor)
setupClickListeners()
}
@@ -168,6 +173,16 @@ class ForgetPasswordActivity : AppCompatActivity() {
}
+ private fun setGradientBackground(
+ view: android.view.View,
+ startColor: Int,
+ endColor: Int,
+ orientation: GradientDrawable.Orientation = GradientDrawable.Orientation.TL_BR
+ ) {
+ val gradientDrawable = GradientDrawable(orientation, intArrayOf(startColor, endColor))
+ gradientDrawable.gradientType = GradientDrawable.LINEAR_GRADIENT
+ view.background = gradientDrawable
+ }
override fun onDestroy() {
super.onDestroy()
diff --git a/app/src/main/java/com/example/defenseapplication/login/LoginActivity.kt b/app/src/main/java/com/example/defenseapplication/login/LoginActivity.kt
index ba42686..2f4a294 100644
--- a/app/src/main/java/com/example/defenseapplication/login/LoginActivity.kt
+++ b/app/src/main/java/com/example/defenseapplication/login/LoginActivity.kt
@@ -1,5 +1,7 @@
package com.example.defenseapplication.login
import android.content.Intent
+import android.graphics.Color
+import android.graphics.drawable.GradientDrawable
import com.example.defenseapplication.R
import android.os.Bundle
import android.os.CountDownTimer
@@ -22,6 +24,11 @@ class LoginActivity : AppCompatActivity() {
binding = ActivityLoginBinding.inflate(layoutInflater)
setContentView(binding.root)
+ // 设置渐变背景
+ val startColor = Color.parseColor("#CBEBFA")
+ val endColor = Color.parseColor("#FFF2EF")
+ setGradientBackground(binding.main, startColor, endColor)
+
setupTabListeners()
setupClickListeners()
switchToSmsMode()
@@ -159,4 +166,15 @@ class LoginActivity : AppCompatActivity() {
}
}.start()
}
+
+ private fun setGradientBackground(
+ view: android.view.View,
+ startColor: Int,
+ endColor: Int,
+ orientation: GradientDrawable.Orientation = GradientDrawable.Orientation.TL_BR
+ ) {
+ val gradientDrawable = GradientDrawable(orientation, intArrayOf(startColor, endColor))
+ gradientDrawable.gradientType = GradientDrawable.LINEAR_GRADIENT
+ view.background = gradientDrawable
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/defenseapplication/login/RegisterActivity.kt b/app/src/main/java/com/example/defenseapplication/login/RegisterActivity.kt
index 038e9a6..df53224 100644
--- a/app/src/main/java/com/example/defenseapplication/login/RegisterActivity.kt
+++ b/app/src/main/java/com/example/defenseapplication/login/RegisterActivity.kt
@@ -1,6 +1,8 @@
package com.example.defenseapplication.login
import android.content.Intent
+import android.graphics.Color
+import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
@@ -19,7 +21,10 @@ class RegisterActivity : AppCompatActivity() {
super.onCreate(savedInstanceState)
binding = RegisterActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
-
+ // 设置渐变背景
+ val startColor = Color.parseColor("#CBEBFA")
+ val endColor = Color.parseColor("#FFF2EF")
+ setGradientBackground(binding.main, startColor, endColor)
setupListeners()
//setupTextWatchers()
}
@@ -187,4 +192,14 @@ class RegisterActivity : AppCompatActivity() {
// private fun validatePassword(password: String): Boolean {
// return password.length in 6..20
// }
+ private fun setGradientBackground(
+ view: android.view.View,
+ startColor: Int,
+ endColor: Int,
+ orientation: GradientDrawable.Orientation = GradientDrawable.Orientation.TL_BR
+ ) {
+ val gradientDrawable = GradientDrawable(orientation, intArrayOf(startColor, endColor))
+ gradientDrawable.gradientType = GradientDrawable.LINEAR_GRADIENT
+ view.background = gradientDrawable
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 5f67492..4b32863 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -220,7 +220,7 @@
android:id="@+id/loginBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:layout_marginTop="32dp"
+ android:layout_marginTop="40dp"
android:text="登录"
android:textSize="18sp"
android:background="@drawable/rounded_blue_bg"
diff --git a/app/src/main/res/layout/home_activity.xml b/app/src/main/res/layout/home_activity.xml
index 72ae279..6be7e0b 100644
--- a/app/src/main/res/layout/home_activity.xml
+++ b/app/src/main/res/layout/home_activity.xml
@@ -12,6 +12,7 @@
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="0dp"
+ android:background="#F5F6F6"
app:layout_constraintBottom_toTopOf="@id/bottom_layout"
app:layout_constraintTop_toTopOf="parent"/>
diff --git a/app/src/main/res/layout/home_menu_fragment.xml b/app/src/main/res/layout/home_menu_fragment.xml
index 4488f81..762db27 100644
--- a/app/src/main/res/layout/home_menu_fragment.xml
+++ b/app/src/main/res/layout/home_menu_fragment.xml
@@ -3,7 +3,6 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:background="#F9F9F9 "
tools:context=".home.HomeMenuFragment">
+
-
-