8 Commits
Author SHA1 Message Date
amos b86fa7586d feat: 添加轮播图预加载指示器,完善三篇博客占位内容
Android Release / release (push) Successful in 46s
2026-06-03 00:52:57 +08:00
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
amos 3c888c67f7 feat: 现代简约 UI 设计 - 优化布局/图标/配色
Android Release / release (push) Successful in 44s
2026-06-03 00:31:46 +08:00
amos 6f59b83443 feat: 恢复完整首页界面布局和功能
Android Release / release (push) Successful in 50s
2026-06-03 00:22:53 +08:00
amos ca9388e334 fix: 添加应用图标引用到 AndroidManifest
Android Release / release (push) Successful in 47s
2026-06-03 00:12:24 +08:00
amos 43277c5c67 feat: 设置应用图标 (ARKJ)
Android Release / release (push) Successful in 49s
2026-06-03 00:04:54 +08:00
32 changed files with 907 additions and 107 deletions
+7 -1
View File
@@ -1,10 +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:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar">
android:icon="@mipmap/ic_launcher"
android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar"
android:usesCleartextTraffic="true">
<activity
android:name=".MainActivity"
@@ -1,12 +1,141 @@
package com.arkj.app;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
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";
private WebView carouselWebView;
private View loadingView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化视图
carouselWebView = findViewById(R.id.carouselWebView);
loadingView = findViewById(R.id.carouselLoading);
// 加载轮播图(预加载,完成后显示)
loadCarousel();
// 设置功能按钮点击事件
setupFunctionButtons();
// 设置底部导航点击事件
setupBottomNavigation();
}
}
private void loadCarousel() {
// 显示加载指示器
if (loadingView != null) {
loadingView.setVisibility(View.VISIBLE);
}
// 隐藏 WebView 直到加载完成
carouselWebView.setVisibility(View.INVISIBLE);
WebSettings settings = carouselWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
// 设置 WebViewClient 监听加载完成
carouselWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
// 开始加载
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// 加载完成,显示 WebView,隐藏加载指示器
carouselWebView.setVisibility(View.VISIBLE);
if (loadingView != null) {
loadingView.setVisibility(View.GONE);
}
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
// 加载失败,显示错误提示
if (loadingView != null) {
loadingView.setVisibility(View.GONE);
}
Toast.makeText(MainActivity.this, "轮播图加载失败", Toast.LENGTH_SHORT).show();
}
});
// 加载网络图片
String html = "<html><body style='margin:0;padding:0;background:#f3f4f6;'>" +
"<div style='display:flex;align-items:center;justify-content:center;height:100vh;margin:0;'>" +
"<img src='" + CAROUSEL_URL + "' style='width:100%;height:100%;object-fit:cover;' " +
"onload='document.body.style.height=\"auto\"' " +
"onerror='document.body.innerHTML=\"<div style=\\\"color:#999;text-align:center;padding:20px;\\\">图片加载失败</div>\"' />" +
"</div>" +
"</body></html>";
carouselWebView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);
}
private void setupFunctionButtons() {
// 备忘录
findViewById(R.id.btnMemo).setOnClickListener(v ->
Toast.makeText(this, "打开备忘录", Toast.LENGTH_SHORT).show());
// 二维码
findViewById(R.id.btnQRCode).setOnClickListener(v ->
Toast.makeText(this, "打开二维码扫描", Toast.LENGTH_SHORT).show());
// 谁在干活
findViewById(R.id.btnWhoWorking).setOnClickListener(v ->
Toast.makeText(this, "查看谁在干活", Toast.LENGTH_SHORT).show());
// PVE
findViewById(R.id.btnPVE).setOnClickListener(v ->
Toast.makeText(this, "打开 PVE", Toast.LENGTH_SHORT).show());
// 快递
findViewById(R.id.btnExpress).setOnClickListener(v ->
Toast.makeText(this, "查看快递", Toast.LENGTH_SHORT).show());
// 纪念日
findViewById(R.id.btnAnniversary).setOnClickListener(v ->
Toast.makeText(this, "查看纪念日", Toast.LENGTH_SHORT).show());
// 记账
findViewById(R.id.btnAccounting).setOnClickListener(v ->
Toast.makeText(this, "打开记账", Toast.LENGTH_SHORT).show());
// 更多
findViewById(R.id.btnMore).setOnClickListener(v ->
Toast.makeText(this, "更多功能", Toast.LENGTH_SHORT).show());
}
private void setupBottomNavigation() {
// 首页
findViewById(R.id.navHome).setOnClickListener(v ->
Toast.makeText(this, "已在首页", Toast.LENGTH_SHORT).show());
// 中间按钮
findViewById(R.id.navCenter).setOnClickListener(v ->
Toast.makeText(this, "快速操作", Toast.LENGTH_SHORT).show());
// 我的
findViewById(R.id.navProfile).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>
+8 -2
View File
@@ -1,6 +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"/>
</shape>
<corners android:radius="16dp"/>
<padding
android:left="4dp"
android:top="4dp"
android:right="4dp"
android:bottom="4dp"/>
</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>
@@ -1,6 +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="#66B3FF"/>
<corners android:radius="12dp"/>
</shape>
<solid android:color="#FFFFFF"/>
<corners android:radius="20dp"/>
<padding
android:left="12dp"
android:top="16dp"
android:right="12dp"
android:bottom="12dp"/>
</shape>
+6 -4
View File
@@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 现代简约背景 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#4A90E2"
android:endColor="#F0F8FF"
android:angle="270"/>
</shape>
android:angle="135"
android:startColor="#F8F9FA"
android:endColor="#E9ECEF"
android:type="linear"/>
</shape>
+12 -3
View File
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 底部导航背景 - 毛玻璃效果模拟 -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#1E3A8A"/>
</shape>
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners
android:topLeftRadius="24dp"
android:topRightRadius="24dp"/>
<padding
android:left="8dp"
android:top="8dp"
android:right="8dp"
android:bottom="8dp"/>
</shape>
+8 -2
View File
@@ -1,6 +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"/>
<solid android:color="#F1F3F4"/>
<corners android:radius="24dp"/>
</shape>
<padding
android:left="12dp"
android:top="8dp"
android:right="12dp"
android:bottom="8dp"/>
</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>
+12 -5
View File
@@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 记账图标 - 钱币符号 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M19,3H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2zM9,17H7v-7h2v7zM13,17h-2V7h2v10zM17,17h-2v-4h2v4z"/>
</vector>
android:fillColor="#14B8A6"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8z"/>
<path
android:fillColor="#14B8A6"
android:pathData="M12.5,7h-1v2.5H9v1h2.5V13h1v-2.5H15v-1h-2.5z"/>
<path
android:fillColor="#14B8A6"
android:pathData="M11,15.5h2v1h-2z"/>
</vector>
+6 -8
View File
@@ -1,13 +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:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M19,3h-1V1h-2v2H8V1H6v2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5c0,-1.1 -0.9,-2 -2,-2zM19,19H5V8h14v11z"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M7,10h5v5H7z"/>
</vector>
android:fillColor="#EC4899"
android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/>
</vector>
+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>
+8 -12
View File
@@ -1,15 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 中间按钮 - 加号圆形 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="56dp"
android:height="56dp"
android:viewportWidth="56"
android:viewportHeight="56">
<!-- 外圆 -->
android:width="64dp"
android:height="64dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#4A90E2"
android:pathData="M28,28m-24,0a24,24 0,1 1,48 0a24,24 0,1 1,-48 0"/>
<!-- 内圆高亮 -->
<path
android:fillColor="#66B3FF"
android:pathData="M28,28m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"/>
</vector>
android:fillColor="#6366F1"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM17,13h-4v4h-2v-4H7v-2h4V7h2v4h4V13z"/>
</vector>
+12 -5
View File
@@ -1,10 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 快递图标 - 包裹 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
</vector>
android:fillColor="#3B82F6"
android:pathData="M19,3H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3zM5,19V5h14v14H5z"/>
<path
android:fillColor="#3B82F6"
android:pathData="M7,12h10v1H7z"/>
<path
android:fillColor="#3B82F6"
android:pathData="M7,15h7v1H7z"/>
</vector>
+5 -4
View File
@@ -1,10 +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:width="32dp"
android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#4A90E2"
android:fillColor="#6366F1"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z"/>
</vector>
</vector>
+6 -5
View File
@@ -1,10 +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:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z"/>
</vector>
android:fillColor="#8B5CF6"
android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
</vector>
+14 -7
View File
@@ -1,13 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 备忘录图标 - 简洁线条风格 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M4,6h16v12H4z"/>
android:fillColor="#6366F1"
android:pathData="M14,2H6C4.9,2 4,2.9 4,4v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V8L14,2zM6,20V4h7v5h5v11H6z"/>
<path
android:fillColor="#4A90E2"
android:pathData="M6,8h12v2H6zM6,11h12v2H6zM6,14h8v2H6z"/>
</vector>
android:fillColor="#6366F1"
android:pathData="M8,12h8v1H8z"/>
<path
android:fillColor="#6366F1"
android:pathData="M8,15h8v1H8z"/>
<path
android:fillColor="#6366F1"
android:pathData="M8,18h5v1H8z"/>
</vector>
+6 -5
View File
@@ -1,10 +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:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M6,4h12v2H6V4zM6,9h12v2H6V9zM6,14h12v2H6V14z"/>
</vector>
android:fillColor="#6B7280"
android:pathData="M4,4h4v4H4V4zM10,4h4v4h-4V4zM16,4h4v4h-4V4zM4,10h4v4H4v-4zM10,10h4v4h-4v-4zM16,10h4v4h-4v-4zM4,16h4v4H4v-4zM10,16h4v4h-4v-4zM16,16h4v4h-4v-4z"/>
</vector>
+5 -4
View File
@@ -1,10 +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:width="32dp"
android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#999999"
android:fillColor="#8B5CF6"
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z"/>
</vector>
</vector>
+6 -5
View File
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- PVE 图标 - 游戏手柄 -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM12,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6 6,-2.69 6,-6 -2.69,-6 -6,-6zM12,16c-2.21,0 -4,-1.79 -4,-4s1.79,-4 4,-4 4,1.79 4,4 -1.79,4 -4,4z"/>
</vector>
android:fillColor="#EF4444"
android:pathData="M21,6H3C1.9,6 1,6.9 1,8v8c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2V8C23,6.9 22.1,6 21,6zM7,14H5v-2h2v-2h2v2h2v2H9v2H7V14zM15.5,15c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5S16.33,15 15.5,15zM19,13h-2v2h-2v-2h-2v-2h2V9h2v2h2V13z"/>
</vector>
+6 -8
View File
@@ -1,13 +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:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M3,3h18v18H3V3zM5,5v14h14V5H5z"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M7,7h4v4H7V7zM13,7h4v4h-4V7zM7,13h4v4H7v-4zM13,13h4v4h-4v-4z"/>
</vector>
android:fillColor="#10B981"
android:pathData="M3,3h6v6H3V3zM5,5v2h2V5H5zM3,15h6v6H3V15zM5,17v2h2v-2H5zM15,3h6v6h-6V3zM17,5v2h2V5h-2zM15,15h2v2h-2V15zM19,15h2v2h-2V15zM15,19h2v2h-2V19zM19,19h2v2h-2V19z"/>
</vector>
+6 -5
View File
@@ -1,10 +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:width="32dp"
android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM11,7h2v5h-5v2h5v5h2v-5h5v-2h-5V7z"/>
</vector>
android:fillColor="#6366F1"
android:pathData="M3,5v4h2V5H3zM3,15h2v-4H3V15zM3,19h2v-2H3V19zM5,3H3v2h2V3zM19,3v2h2V3H19zM15,3v2h4V3H15zM11,3v2h4V3H11zM7,3v2h4V3H7zM19,15h2v-4H19V15zM19,19h2v-2H19V19zM19,5v4h2V5H19z"/>
</vector>
+5 -4
View File
@@ -1,10 +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:width="20dp"
android:height="20dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
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>
</vector>
+6 -5
View File
@@ -1,10 +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:width="32dp"
android:height="32dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF6B6B"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM13,17h-2v-6h2v6zM13,9h-2L11,7h2v2z"/>
</vector>
android:fillColor="#F59E0B"
android:pathData="M3,9v6h4l5,5V4L7,9H3zM16.5,12c0,-1.77 -1.02,-3.29 -2.5,-4.03v8.05c1.48,-0.73 2.5,-2.25 2.5,-4.02zM14,3.23v2.06c2.89,0.86 5,3.54 5,6.71s-2.11,5.85 -5,6.71v2.06c4.01,-0.91 7,-4.49 7,-8.77s-2.99,-7.86 -7,-8.77z"/>
</vector>
+6 -5
View File
@@ -1,10 +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:width="48dp"
android:height="48dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFF"
android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/>
</vector>
android:fillColor="#F59E0B"
android:pathData="M12,2l3.09,6.26L22,9.27l-5,4.87 1.18,6.88L12,17.77l-6.18,3.25L7,14.14 2,9.27l6.91,-1.01L12,2z"/>
</vector>
+560 -4
View File
@@ -3,12 +3,568 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
android:background="@drawable/bg_gradient">
<!-- 顶部欢迎区域 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="24dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="早上好"
android:textSize="14sp"
android:textColor="#6B7280"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ARKJ"
android:textSize="28sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginTop="2dp"/>
</LinearLayout>
<!-- 搜索栏 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="24dp"
android:gravity="center_vertical"
android:layout_marginBottom="16dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="1"
android:orientation="horizontal"
android:background="@drawable/bg_search"
android:paddingHorizontal="16dp"
android:gravity="center_vertical"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_search"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/search_hint"
android:textColor="#6B7280"
android:textSize="15sp"
android:layout_marginStart="12dp"/>
</LinearLayout>
<ImageView
android:layout_width="44dp"
android:layout_height="44dp"
android:src="@drawable/ic_scan"
android:padding="10dp"
android:layout_marginStart="12dp"
android:background="@drawable/bg_card"
android:clickable="true"
android:focusable="true"/>
</LinearLayout>
<!-- 轮播图区域(含加载指示器) -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_marginHorizontal="24dp"
android:layout_marginBottom="20dp">
<!-- 加载指示器 -->
<ProgressBar
android:id="@+id/carouselLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminateTint="#6366F1"/>
<!-- WebView 初始隐藏,加载完成后显示 -->
<WebView
android:id="@+id/carouselWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_carousel"
android:elevation="4dp"
android:visibility="invisible"/>
</FrameLayout>
<!-- 功能网格标题 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ARKJ"
android:textSize="32sp"/>
android:text="功能"
android:textSize="18sp"
android:textStyle="bold"
android:textColor="#1F2937"
android:layout_marginStart="24dp"
android:layout_marginBottom="12dp"/>
</LinearLayout>
<!-- 功能网格 -->
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rowCount="2"
android:columnCount="4"
android:paddingHorizontal="16dp"
android:alignmentMode="alignMargins">
<!-- 备忘录 -->
<LinearLayout
android:id="@+id/btnMemo"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_memo"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/memo"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 二维码 -->
<LinearLayout
android:id="@+id/btnQRCode"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_qrcode"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/qrcode"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 谁在干活 -->
<LinearLayout
android:id="@+id/btnWhoWorking"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_star"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/who_working"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- PVE -->
<LinearLayout
android:id="@+id/btnPVE"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_pve"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pve"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 快递 -->
<LinearLayout
android:id="@+id/btnExpress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_express"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/express"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 纪念日 -->
<LinearLayout
android:id="@+id/btnAnniversary"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_anniversary"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/anniversary"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 记账 -->
<LinearLayout
android:id="@+id/btnAccounting"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_accounting"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/accounting"
android:textColor="#374151"
android:textSize="13sp"
android:layout_marginTop="6dp"/>
</LinearLayout>
<!-- 更多 -->
<LinearLayout
android:id="@+id/btnMore"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/ic_more"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更多"
android:textColor="#374151"
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"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="12dp"
android:background="@drawable/bg_menu_button"
android:layout_marginHorizontal="16dp"
android:layout_marginBottom="16dp"
android:elevation="8dp">
<LinearLayout
android:id="@+id/navHome"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="28dp"
android:layout_height="28dp"
android:src="@drawable/ic_home_active"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/home"
android:textColor="#6366F1"
android:textSize="12sp"
android:layout_marginTop="4dp"/>
</LinearLayout>
<ImageView
android:id="@+id/navCenter"
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_center_button"
android:layout_marginHorizontal="12dp"
android:clickable="true"
android:focusable="true"/>
<LinearLayout
android:id="@+id/navProfile"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:gravity="center"
android:padding="8dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="28dp"
android:layout_height="28dp"
android:src="@drawable/ic_profile"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/profile"
android:textColor="#6B7280"
android:textSize="12sp"
android:layout_marginTop="4dp"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB