3 Commits
Author SHA1 Message Date
amos 462c889964 feat: 使用 WebView 加载网络轮播图,加深搜索图标,添加网络权限
Android Release / release (push) Successful in 50s
2026-06-03 00:46:44 +08:00
amos 501244a5c0 fix: 移除不存在的 btnMaterials 引用
Android Release / release (push) Successful in 44s
2026-06-03 00:42:26 +08:00
amos 5cb485f486 feat: 添加轮播图和博客展示区,优化搜索图标可见性
Android Release / release (push) Failing after 23s
2026-06-03 00:39:00 +08:00
8 changed files with 342 additions and 113 deletions
+6 -1
View File
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar">
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
@@ -3,14 +3,22 @@ package com.arkj.app;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
public class MainActivity extends Activity {
// 轮播图 URL
private static final String CAROUSEL_URL = "https://alist.kg8.net/d/蓝奏云/IMG_20190602_082558.webp";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 加载轮播图
loadCarousel();
// 设置功能按钮点击事件
setupFunctionButtons();
@@ -18,6 +26,20 @@ public class MainActivity extends Activity {
setupBottomNavigation();
}
private void loadCarousel() {
WebView carouselWebView = findViewById(R.id.carouselWebView);
WebSettings settings = carouselWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
// 加载网络图片
String html = "<html><body style='margin:0;padding:0;'>" +
"<img src='" + CAROUSEL_URL + "' style='width:100%;height:100%;object-fit:cover;' />" +
"</body></html>";
carouselWebView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);
}
private void setupFunctionButtons() {
// 备忘录
findViewById(R.id.btnMemo).setOnClickListener(v ->
@@ -47,10 +69,6 @@ public class MainActivity extends Activity {
findViewById(R.id.btnAccounting).setOnClickListener(v ->
Toast.makeText(this, "打开记账", Toast.LENGTH_SHORT).show());
// 资料
findViewById(R.id.btnMaterials).setOnClickListener(v ->
Toast.makeText(this, "查看资料", Toast.LENGTH_SHORT).show());
// 更多
findViewById(R.id.btnMore).setOnClickListener(v ->
Toast.makeText(this, "更多功能", Toast.LENGTH_SHORT).show());
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 博客卡片背景 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="12dp"/>
<padding
android:left="12dp"
android:top="12dp"
android:right="12dp"
android:bottom="12dp"/>
</shape>
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 轮播图背景卡片 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="16dp"/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"/>
</shape>
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="color-scheme" content="dark light" />
<meta name="robots" content="noindex" />
<title>404 Not Found</title>
</head>
<body>
<h1>404 Not Found</h1>
<hr>
<p>http request [https://pdf2.webgetstore.com/2026/06/03/31f6781928e275a74c1ecf0b45201adc.webp?sg=a326bc10d2a1fdab982779749251d32c&amp;e=6a1f06b0&amp;fileName=IMG_20190602_082558.webp&amp;fi=288933356] failure,status: 404|Not Found response:&lt;!DOCTYPE HTML PUBLIC &#34;-//IETF//DTD HTML 2.0//EN&#34;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt; 404&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;404&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</p>
</body>
</html>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 博客图标 - 火焰 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#EF4444"
android:pathData="M12,23c-4.97,0 -9,-3.58 -9,-8 0,-2.52 1.17,-5.32 3.22,-7.63C7.49,5.84 9.56,4 12,2c0.44,1.33 1.21,3.19 2.34,4.86C16.07,9.39 18,11.58 18,15c0,4.42 -4.03,8 -9,8z"/>
</vector>
+2 -2
View File
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 搜索图标 -->
<!-- 搜索图标 - 深色 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#9CA3AF"
android:fillColor="#1F2937"
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
</vector>
+254 -106
View File
@@ -11,23 +11,24 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:layout_marginTop="16dp">
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="早上好"
android:textSize="16sp"
android:textSize="14sp"
android:textColor="#6B7280"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ARKJ"
android:textSize="32sp"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginTop="4dp"/>
android:layout_marginTop="2dp"/>
</LinearLayout>
<!-- 搜索栏 -->
@@ -37,16 +38,18 @@
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:gravity="center_vertical"
android:layout_marginBottom="20dp">
android:layout_marginBottom="16dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="52dp"
android:layout_height="48dp"
android:layout_weight="1"
android:orientation="horizontal"
android:background="@drawable/bg_search"
android:paddingHorizontal="16dp"
android:gravity="center_vertical">
android:gravity="center_vertical"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="20dp"
@@ -57,7 +60,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search_hint"
android:textColor="#9CA3AF"
android:textColor="#6B7280"
android:textSize="15sp"
android:layout_marginStart="12dp"/>
</LinearLayout>
@@ -68,16 +71,38 @@
android:src="@drawable/ic_scan"
android:padding="10dp"
android:layout_marginStart="12dp"
android:background="@drawable/bg_card"/>
android:background="@drawable/bg_card"
android:clickable="true"
android:focusable="true"/>
</LinearLayout>
<!-- 轮播图 - 使用 WebView 加载网络图片 -->
<WebView
android:id="@+id/carouselWebView"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_marginHorizontal="24dp"
android:layout_marginBottom="20dp"
android:background="@drawable/bg_carousel"
android:elevation="4dp"/>
<!-- 功能网格标题 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="功能"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"/>
<!-- 功能网格 -->
<GridLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:rowCount="3"
android:columnCount="3"
android:layout_height="wrap_content"
android:rowCount="2"
android:columnCount="4"
android:paddingHorizontal="16dp"
android:alignmentMode="alignMargins">
@@ -85,19 +110,17 @@
<LinearLayout
android:id="@+id/btnMemo"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_memo"/>
<TextView
@@ -105,27 +128,25 @@
android:layout_height="wrap_content"
android:text="@string/memo"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 二维码 -->
<LinearLayout
android:id="@+id/btnQRCode"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_qrcode"/>
<TextView
@@ -133,27 +154,25 @@
android:layout_height="wrap_content"
android:text="@string/qrcode"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 谁在干活 -->
<LinearLayout
android:id="@+id/btnWhoWorking"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_star"/>
<TextView
@@ -161,27 +180,25 @@
android:layout_height="wrap_content"
android:text="@string/who_working"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- PVE -->
<LinearLayout
android:id="@+id/btnPVE"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_pve"/>
<TextView
@@ -189,27 +206,25 @@
android:layout_height="wrap_content"
android:text="@string/pve"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 快递 -->
<LinearLayout
android:id="@+id/btnExpress"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_express"/>
<TextView
@@ -217,27 +232,25 @@
android:layout_height="wrap_content"
android:text="@string/express"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 纪念日 -->
<LinearLayout
android:id="@+id/btnAnniversary"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_anniversary"/>
<TextView
@@ -245,27 +258,25 @@
android:layout_height="wrap_content"
android:text="@string/anniversary"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 记账 -->
<LinearLayout
android:id="@+id/btnAccounting"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_accounting"/>
<TextView
@@ -273,55 +284,25 @@
android:layout_height="wrap_content"
android:text="@string/accounting"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
</LinearLayout>
<!-- 资料 -->
<LinearLayout
android:id="@+id/btnMaterials"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:src="@drawable/ic_materials"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/materials"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 更多 -->
<LinearLayout
android:id="@+id/btnMore"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:orientation="vertical"
android:gravity="center"
android:background="@drawable/bg_function_icon"
android:layout_margin="8dp"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_more"/>
<TextView
@@ -329,11 +310,177 @@
android:layout_height="wrap_content"
android:text="更多"
android:textColor="#374151"
android:textSize="14sp"
android:layout_marginTop="8dp"/>
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
</GridLayout>
<!-- 博客标题 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="24dp"
android:layout_marginStart="24dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="12dp">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:src="@drawable/ic_blog"
android:layout_marginEnd="8dp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/blog_title"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#1F2937"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更多 >"
android:textColor="#6366F1"
android:textSize="14sp"
android:clickable="true"
android:focusable="true"/>
</LinearLayout>
<!-- 博客列表 -->
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clipToPadding="false"
android:paddingBottom="80dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="24dp">
<!-- 博客卡片 1 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_blog_card"
android:elevation="2dp"
android:layout_marginBottom="12dp"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android 开发入门"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginBottom="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="学习 Android 开发的基础知识,包括 Activity、Fragment 等核心概念..."
android:textColor="#6B7280"
android:textSize="14sp"
android:maxLines="2"
android:ellipsize="end"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2 小时前"
android:textColor="#9CA3AF"
android:textSize="12sp"
android:layout_marginTop="8dp"/>
</LinearLayout>
<!-- 博客卡片 2 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_blog_card"
android:elevation="2dp"
android:layout_marginBottom="12dp"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kotlin 协程详解"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginBottom="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="深入理解 Kotlin 协程的工作原理,掌握异步编程的最佳实践..."
android:textColor="#6B7280"
android:textSize="14sp"
android:maxLines="2"
android:ellipsize="end"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="昨天"
android:textColor="#9CA3AF"
android:textSize="12sp"
android:layout_marginTop="8dp"/>
</LinearLayout>
<!-- 博客卡片 3 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_blog_card"
android:elevation="2dp"
android:layout_marginBottom="12dp"
android:clickable="true"
android:focusable="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Jetpack Compose 实战"
android:textSize="16sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginBottom="8dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用 Jetpack Compose 构建现代化的 Android 界面,声明式 UI 的魅力..."
android:textColor="#6B7280"
android:textSize="14sp"
android:maxLines="2"
android:ellipsize="end"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3 天前"
android:textColor="#9CA3AF"
android:textSize="12sp"
android:layout_marginTop="8dp"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
<!-- 底部导航 -->
<LinearLayout
android:layout_width="match_parent"
@@ -343,7 +490,8 @@
android:padding="12dp"
android:background="@drawable/bg_menu_button"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="16dp">
android:layout_marginBottom="16dp"
android:elevation="8dp">
<LinearLayout
android:id="@+id/navHome"