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