feat: 新增 Android 移动端 head 与共享移动壳(组件面板)

This commit is contained in:
lincube
2026-07-26 22:28:25 +09:00
parent 9b7a35ddd3
commit 41c484eaf8
12 changed files with 253 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0-android</TargetFramework>
<SupportedOSPlatformVersion>24</SupportedOSPlatformVersion>
<OutputType>Exe</OutputType>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationId>org.lanmountain.desktop</ApplicationId>
<ApplicationVersion>1</ApplicationVersion>
<ApplicationDisplayVersion>0.0.0-dev</ApplicationDisplayVersion>
<AndroidPackageFormat>apk</AndroidPackageFormat>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\LanMountainDesktop.Mobile\LanMountainDesktop.Mobile.csproj" />
<ProjectReference Include="..\LanMountainDesktop.Platform.Android\LanMountainDesktop.Platform.Android.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia.Android" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,19 @@
using Android.App;
using Android.Content.PM;
using Avalonia.Android;
namespace LanMountainDesktop.Mobile.Android;
/// <summary>
/// Android 入口 Activity。承载 MobileApp单视图组件面板
/// Avalonia 12 起 AppBuilder 定制移至 <see cref="MobileAndroidApplication"/>。
/// </summary>
[Activity(
Label = "阑山桌面",
Theme = "@style/MyTheme.NoActionBar",
Icon = "@drawable/icon",
MainLauncher = true,
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)]
public class MainActivity : AvaloniaMainActivity
{
}

View File

@@ -0,0 +1,26 @@
using Android.App;
using Android.Runtime;
using Avalonia;
using Avalonia.Android;
using LanMountainDesktop.Mobile;
namespace LanMountainDesktop.Mobile.Android;
/// <summary>
/// Android 应用级入口。Avalonia 12 中 AppBuilder 的创建/定制由
/// AvaloniaAndroidApplication&lt;TApp&gt; 子类负责(而非 Activity
/// </summary>
[Application]
public class MobileAndroidApplication : AvaloniaAndroidApplication<MobileApp>
{
protected MobileAndroidApplication(nint javaReference, JniHandleOwnership transfer)
: base(javaReference, transfer)
{
}
protected override AppBuilder CustomizeAppBuilder(AppBuilder builder)
{
return base.CustomizeAppBuilder(builder)
.WithInterFont();
}
}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme.NoActionBar" parent="@android:style/Theme.Material.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:colorPrimary">#3B82F6</item>
</style>
</resources>