From 380d70f2f1cd03b314fa6de64df30eab914956ba Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 24 三月 2025 09:56:42 +0800
Subject: [PATCH] fix 324 免登陆,删除ActionBar
---
app/src/main/res/values-night/themes.xml | 5 ++
app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt | 15 +++++++
app/src/main/res/drawable/down.png | 0
app/src/main/java/com/example/firstapp/ui/login/LoginViewModel.kt | 20 +++++-----
app/src/main/res/values/themes.xml | 5 ++
app/src/main/java/com/example/firstapp/MainActivity.kt | 14 +------
app/src/main/res/drawable/up.jpg | 0
app/src/main/res/layout/fragment_home.xml | 41 +++++++++++++-------
app/build.gradle | 4 ++
9 files changed, 64 insertions(+), 40 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 75f7708..5dbd017 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -273,4 +273,8 @@
//图形化
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
+ //添加了 Glide 依赖
+ implementation 'com.github.bumptech.glide:glide:4.12.0'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/firstapp/MainActivity.kt b/app/src/main/java/com/example/firstapp/MainActivity.kt
index baea6f5..7d01490 100644
--- a/app/src/main/java/com/example/firstapp/MainActivity.kt
+++ b/app/src/main/java/com/example/firstapp/MainActivity.kt
@@ -91,14 +91,7 @@
val navView = binding.navView
val navController = findNavController(R.id.nav_host_fragment_activity_main)
- // Passing each menu ID as a set of Ids because each
- // menu should be considered as top level destinations.
- val appBarConfiguration = AppBarConfiguration(
- setOf(
- R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications
- )
- )
- setupActionBarWithNavController(navController, appBarConfiguration)
+ // 只保留底部导航的设置
navView.setupWithNavController(navController)
// 检查权限
@@ -144,10 +137,7 @@
// }, filter)
}
- override fun onSupportNavigateUp(): Boolean {
- val navController = findNavController(R.id.nav_host_fragment_activity_main)
- return navController.navigateUp() || super.onSupportNavigateUp()
- }
+
private fun registerSmsReceiver() {
// 应用启动时执行 registerSmsReceiver()
// 创建 SmsReceiver 实例
diff --git a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
index ac27547..623c67e 100644
--- a/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/example/firstapp/ui/home/HomeFragment.kt
@@ -14,6 +14,7 @@
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
+import com.bumptech.glide.Glide
import com.example.firstapp.R
import com.example.firstapp.activity.PickupActivity
import com.example.firstapp.adapter.ExpressAdapter
@@ -50,7 +51,8 @@
//通过 ViewModelProvider 获取 HomeViewModel 的实例,以便在视图中使用。
homeViewModel = ViewModelProvider(this).get(HomeViewModel::class.java)
-
+ // 加载广告图片
+ //loadAdvertisements()
//调用这个方法来设置 RecyclerView用于设置 RecyclerView 的布局和适配器。
setupRecyclerViews()
setupTabSwitching()
@@ -210,4 +212,15 @@
super.onDestroyView()
_binding = null
}
+
+ private fun loadAdvertisements() {
+ // 使用 Glide 加载网络图片
+ Glide.with(this)
+ .load("http://192.168.1.235:9999/advertisement/up.png")
+ .into(binding.adBanner)
+
+ Glide.with(this)
+ .load("http://192.168.1.235:9999/advertisement/down.png")
+ .into(binding.bottomAdBanner)
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/firstapp/ui/login/LoginViewModel.kt b/app/src/main/java/com/example/firstapp/ui/login/LoginViewModel.kt
index 3dff2a9..f61b646 100644
--- a/app/src/main/java/com/example/firstapp/ui/login/LoginViewModel.kt
+++ b/app/src/main/java/com/example/firstapp/ui/login/LoginViewModel.kt
@@ -23,12 +23,12 @@
viewModelScope.launch {
_isLoading.value = true
try {
- val response = RetrofitClient.apiService.sendVerificationCode(phone)
- if (response.code == 200) {
+// val response = RetrofitClient.apiService.sendVerificationCode(phone)
+// if (response.code == 200) {
_loginMessage.value = "验证码已发送"
- } else {
- _loginMessage.value = response.msg.ifEmpty { "发送验证码失败" }
- }
+// } else {
+// _loginMessage.value = response.msg.ifEmpty { "发送验证码失败" }
+// }
} catch (e: Exception) {
Log.e("LoginError", "Login failed: ${e.message}", e)
_loginMessage.value = "网络错误,请稍后重试"
@@ -42,12 +42,12 @@
viewModelScope.launch {
_isLoading.value = true
try {
- val response = RetrofitClient.apiService.verifyCode(phone, code)
- if (response.code == 200 && response.data) {
+// val response = RetrofitClient.apiService.verifyCode(phone, code)
+// if (response.code == 200 && response.data) {
_loginState.value = true
- } else {
- _loginMessage.value = response.msg.ifEmpty { "登录失败" }
- }
+// } else {
+// _loginMessage.value = response.msg.ifEmpty { "登录失败" }
+// }
} catch (e: Exception) {
Log.e("LoginError", "Login failed: ${e.message}", e)
_loginMessage.value = "网络错误,请稍后重试"
diff --git a/app/src/main/res/drawable/down.png b/app/src/main/res/drawable/down.png
new file mode 100644
index 0000000..8c852fa
--- /dev/null
+++ b/app/src/main/res/drawable/down.png
Binary files differ
diff --git a/app/src/main/res/drawable/up.jpg b/app/src/main/res/drawable/up.jpg
new file mode 100644
index 0000000..9d071f7
--- /dev/null
+++ b/app/src/main/res/drawable/up.jpg
Binary files differ
diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml
index f5c2f09..79dd0bb 100644
--- a/app/src/main/res/layout/fragment_home.xml
+++ b/app/src/main/res/layout/fragment_home.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
+
+<ScrollView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="80dp"> <!-- 留出顶部广告位的高度 -->
+ >
<!-- LinearLayout的作用是按照垂直或者水平方向排列其子视图-->
<!-- CardView组件是用于实现卡片式布局-->
@@ -15,19 +22,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
- <!-- 顶部广告位 -->
- <androidx.cardview.widget.CardView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:cardCornerRadius="8dp"
- app:cardElevation="2dp">
-
- <ImageView
- android:id="@+id/adBanner"
- android:layout_width="match_parent"
- android:layout_height="80dp"
- android:scaleType="centerCrop"/>
- </androidx.cardview.widget.CardView>
+
<!-- 快递/财务切换区域 -->
<LinearLayout
@@ -125,4 +120,20 @@
</androidx.cardview.widget.CardView>
</LinearLayout>
-</ScrollView>
\ No newline at end of file
+</ScrollView>
+
+ <!-- 顶部广告位 -->
+ <androidx.cardview.widget.CardView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ >
+
+ <ImageView
+ android:id="@+id/adBanner"
+ android:layout_width="match_parent"
+ android:layout_height="80dp"
+ android:scaleType="centerCrop"
+ android:src="@drawable/up"/>
+ </androidx.cardview.widget.CardView>
+
+</FrameLayout>
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index e992cf6..39e726f 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
- <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
+ <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
@@ -11,6 +11,9 @@
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
+ <!-- 确保没有ActionBar -->
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
<!-- Customize your theme here. -->
</style>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 83c6e3c..b8ebbff 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,7 +1,7 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<!-- <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">-->
- <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
+ <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/light_blue_new</item>
<item name="colorPrimaryVariant">@color/light_blue_new</item>
@@ -12,6 +12,9 @@
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
+ <!-- 确保没有ActionBar -->
+ <item name="windowActionBar">false</item>
+ <item name="windowNoTitle">true</item>
<!-- Customize your theme here. -->
</style>
--
Gitblit v1.9.3