Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa30960437 | ||
|
|
a5134ce285 | ||
|
|
b86fa7586d | ||
|
|
462c889964 |
@@ -1,11 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<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
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:icon="@mipmap/ic_launcher"
|
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
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
|
|||||||
@@ -1,16 +1,34 @@
|
|||||||
package com.arkj.app;
|
package com.arkj.app;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.webkit.WebSettings;
|
||||||
|
import android.webkit.WebView;
|
||||||
|
import android.webkit.WebViewClient;
|
||||||
|
import android.widget.ProgressBar;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
public class MainActivity extends Activity {
|
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
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
|
// 初始化视图
|
||||||
|
carouselWebView = findViewById(R.id.carouselWebView);
|
||||||
|
loadingView = findViewById(R.id.carouselLoading);
|
||||||
|
|
||||||
|
// 加载轮播图(预加载,完成后显示)
|
||||||
|
loadCarousel();
|
||||||
|
|
||||||
// 设置功能按钮点击事件
|
// 设置功能按钮点击事件
|
||||||
setupFunctionButtons();
|
setupFunctionButtons();
|
||||||
|
|
||||||
@@ -18,50 +36,92 @@ public class MainActivity extends Activity {
|
|||||||
setupBottomNavigation();
|
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;border-radius:16px;overflow:hidden;'>" +
|
||||||
|
"<div style='display:flex;align-items:center;justify-content:center;height:100vh;margin:0;border-radius:16px;overflow:hidden;'>" +
|
||||||
|
"<img src='" + CAROUSEL_URL + "' style='width:100%;height:100%;object-fit:cover;border-radius:16px;' " +
|
||||||
|
"onload='document.body.style.height=\"auto\"' " +
|
||||||
|
"onerror='document.body.innerHTML=\"<div style=\\\"color:#999;text-align:center;padding:20px;font-family:sans-serif;\\\">图片加载失败</div>\"' />" +
|
||||||
|
"</div>" +
|
||||||
|
"</body></html>";
|
||||||
|
carouselWebView.loadDataWithBaseURL(null, html, "text/html", "UTF-8", null);
|
||||||
|
}
|
||||||
|
|
||||||
private void setupFunctionButtons() {
|
private void setupFunctionButtons() {
|
||||||
// 备忘录
|
|
||||||
findViewById(R.id.btnMemo).setOnClickListener(v ->
|
findViewById(R.id.btnMemo).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "打开备忘录", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "打开备忘录", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 二维码
|
|
||||||
findViewById(R.id.btnQRCode).setOnClickListener(v ->
|
findViewById(R.id.btnQRCode).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "打开二维码扫描", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "打开二维码扫描", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 谁在干活
|
|
||||||
findViewById(R.id.btnWhoWorking).setOnClickListener(v ->
|
findViewById(R.id.btnWhoWorking).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "查看谁在干活", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "查看谁在干活", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// PVE
|
|
||||||
findViewById(R.id.btnPVE).setOnClickListener(v ->
|
findViewById(R.id.btnPVE).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "打开 PVE", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "打开 PVE", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 快递
|
|
||||||
findViewById(R.id.btnExpress).setOnClickListener(v ->
|
findViewById(R.id.btnExpress).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "查看快递", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "查看快递", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 纪念日
|
|
||||||
findViewById(R.id.btnAnniversary).setOnClickListener(v ->
|
findViewById(R.id.btnAnniversary).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "查看纪念日", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "查看纪念日", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 记账
|
|
||||||
findViewById(R.id.btnAccounting).setOnClickListener(v ->
|
findViewById(R.id.btnAccounting).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "打开记账", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "打开记账", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 更多
|
|
||||||
findViewById(R.id.btnMore).setOnClickListener(v ->
|
findViewById(R.id.btnMore).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "更多功能", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "更多功能", Toast.LENGTH_SHORT).show());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupBottomNavigation() {
|
private void setupBottomNavigation() {
|
||||||
// 首页
|
|
||||||
findViewById(R.id.navHome).setOnClickListener(v ->
|
findViewById(R.id.navHome).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "已在首页", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "已在首页", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 中间按钮
|
|
||||||
findViewById(R.id.navCenter).setOnClickListener(v ->
|
findViewById(R.id.navCenter).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "快速操作", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "快速操作", Toast.LENGTH_SHORT).show());
|
||||||
|
|
||||||
// 我的
|
|
||||||
findViewById(R.id.navProfile).setOnClickListener(v ->
|
findViewById(R.id.navProfile).setOnClickListener(v ->
|
||||||
Toast.makeText(this, "打开个人中心", Toast.LENGTH_SHORT).show());
|
Toast.makeText(this, "打开个人中心", Toast.LENGTH_SHORT).show());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- 轮播图背景卡片 -->
|
<!-- 轮播图背景 - 圆角 -->
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<solid android:color="#FFFFFF"/>
|
<solid android:color="#FFFFFF"/>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- 搜索图标 - 加深颜色 -->
|
<!-- 搜索图标 - 深色 -->
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:width="20dp"
|
android:width="20dp"
|
||||||
android:height="20dp"
|
android:height="20dp"
|
||||||
android:viewportWidth="24"
|
android:viewportWidth="24"
|
||||||
android:viewportHeight="24">
|
android:viewportHeight="24">
|
||||||
<path
|
<path
|
||||||
android:fillColor="#6B7280"
|
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"/>
|
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>
|
||||||
@@ -5,491 +5,457 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:background="@drawable/bg_gradient">
|
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>
|
|
||||||
|
|
||||||
<!-- 轮播图 -->
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="180dp"
|
|
||||||
android:layout_marginHorizontal="24dp"
|
|
||||||
android:layout_marginBottom="20dp"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:background="@drawable/bg_carousel"
|
|
||||||
android:elevation="4dp">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:src="@drawable/carousel_image"
|
|
||||||
android:scaleType="centerCrop"
|
|
||||||
android:contentDescription="轮播图"/>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<!-- 功能网格标题 -->
|
|
||||||
<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="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
|
<ScrollView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:clipToPadding="false"
|
android:fillViewport="true">
|
||||||
android:paddingBottom="80dp">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical">
|
||||||
android:paddingHorizontal="24dp">
|
|
||||||
|
|
||||||
<!-- 博客卡片 1 -->
|
<!-- 顶部欢迎区域 -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:background="@drawable/bg_blog_card"
|
android:padding="24dp"
|
||||||
android:elevation="2dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginBottom="12dp"
|
android:layout_marginBottom="8dp">
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Android 开发入门"
|
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="28sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textColor="#1F2937"
|
android:textColor="#1F2937"
|
||||||
android:layout_marginBottom="8dp"/>
|
android:layout_marginTop="2dp"/>
|
||||||
|
|
||||||
<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>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- 博客卡片 2 -->
|
<!-- 轮播图区域(含加载指示器) -->
|
||||||
|
<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="功能"
|
||||||
|
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="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
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="horizontal"
|
||||||
android:background="@drawable/bg_blog_card"
|
android:gravity="center_vertical"
|
||||||
android:elevation="2dp"
|
android:layout_marginTop="24dp"
|
||||||
android:layout_marginBottom="12dp"
|
android:layout_marginStart="24dp"
|
||||||
android:clickable="true"
|
android:layout_marginEnd="24dp"
|
||||||
android:focusable="true">
|
android:layout_marginBottom="12dp">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:layout_width="24dp"
|
||||||
|
android:layout_height="24dp"
|
||||||
|
android:src="@drawable/ic_blog"
|
||||||
|
android:layout_marginEnd="8dp"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="Kotlin 协程详解"
|
android:layout_weight="1"
|
||||||
android:textSize="16sp"
|
android:text="@string/blog_title"
|
||||||
|
android:textSize="18sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textColor="#1F2937"
|
android:textColor="#1F2937"/>
|
||||||
android:layout_marginBottom="8dp"/>
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="深入理解 Kotlin 协程的工作原理,掌握异步编程的最佳实践..."
|
android:text="更多 >"
|
||||||
android:textColor="#6B7280"
|
android:textColor="#6366F1"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:maxLines="2"
|
android:clickable="true"
|
||||||
android:ellipsize="end"/>
|
android:focusable="true"/>
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="昨天"
|
|
||||||
android:textColor="#9CA3AF"
|
|
||||||
android:textSize="12sp"
|
|
||||||
android:layout_marginTop="8dp"/>
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<!-- 博客卡片 3 -->
|
<!-- 博客列表占位 -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:background="@drawable/bg_blog_card"
|
android:paddingHorizontal="24dp"
|
||||||
android:elevation="2dp"
|
android:layout_marginBottom="16dp">
|
||||||
android:layout_marginBottom="12dp"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true">
|
|
||||||
|
|
||||||
<TextView
|
<!-- 博客占位 1 -->
|
||||||
android:layout_width="wrap_content"
|
<LinearLayout
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:text="Jetpack Compose 实战"
|
android:layout_height="80dp"
|
||||||
android:textSize="16sp"
|
android:orientation="horizontal"
|
||||||
android:textStyle="bold"
|
android:background="@drawable/bg_blog_card"
|
||||||
android:textColor="#1F2937"
|
android:elevation="2dp"
|
||||||
android:layout_marginBottom="8dp"/>
|
android:layout_marginBottom="12dp"
|
||||||
|
android:padding="12dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="match_parent"
|
||||||
android:text="使用 Jetpack Compose 构建现代化的 Android 界面,声明式 UI 的魅力..."
|
android:layout_weight="1"
|
||||||
android:textColor="#6B7280"
|
android:orientation="vertical"
|
||||||
android:textSize="14sp"
|
android:gravity="center_vertical">
|
||||||
android:maxLines="2"
|
|
||||||
android:ellipsize="end"/>
|
|
||||||
|
|
||||||
<TextView
|
<View
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="120dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="16dp"
|
||||||
android:text="3 天前"
|
android:background="#E5E7EB"
|
||||||
android:textColor="#9CA3AF"
|
android:layout_marginBottom="8dp"/>
|
||||||
android:textSize="12sp"
|
|
||||||
android:layout_marginTop="8dp"/>
|
<View
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:background="#F3F4F6"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:background="#E5E7EB"
|
||||||
|
android:layout_marginStart="12dp"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- 博客占位 2 -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:background="@drawable/bg_blog_card"
|
||||||
|
android:elevation="2dp"
|
||||||
|
android:layout_marginBottom="12dp"
|
||||||
|
android:padding="12dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="120dp"
|
||||||
|
android:layout_height="16dp"
|
||||||
|
android:background="#E5E7EB"
|
||||||
|
android:layout_marginBottom="8dp"/>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:background="#F3F4F6"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:background="#E5E7EB"
|
||||||
|
android:layout_marginStart="12dp"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<!-- 博客占位 3 -->
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="80dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:background="@drawable/bg_blog_card"
|
||||||
|
android:elevation="2dp"
|
||||||
|
android:layout_marginBottom="12dp"
|
||||||
|
android:padding="12dp"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="120dp"
|
||||||
|
android:layout_height="16dp"
|
||||||
|
android:background="#E5E7EB"
|
||||||
|
android:layout_marginBottom="8dp"/>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="200dp"
|
||||||
|
android:layout_height="12dp"
|
||||||
|
android:background="#F3F4F6"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="60dp"
|
||||||
|
android:layout_height="60dp"
|
||||||
|
android:background="#E5E7EB"
|
||||||
|
android:layout_marginStart="12dp"/>
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
<!-- 底部导航 -->
|
<!-- 底部导航(固定在底部) -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user