From ba2089aed9ab2839b8a9a96c5a88df9637962bc6 Mon Sep 17 00:00:00 2001 From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com> Date: Mon, 20 Mar 2023 19:57:51 +0800 Subject: [PATCH] feat: Android start mode. --- Semi.Avalonia.sln | 7 ++++++ .../MainActivity.cs | 11 +++++++++ .../Properties/AndroidManifest.xml | 5 ++++ .../Resources/drawable/Icon.png | Bin 0 -> 7266 bytes .../Resources/drawable/splash_screen.xml | 13 +++++++++++ .../Resources/values/colors.xml | 4 ++++ .../Resources/values/styles.xml | 17 ++++++++++++++ .../Semi.Avalonia.Demo.Android.csproj | 22 ++++++++++++++++++ 8 files changed, 79 insertions(+) create mode 100644 demo/Semi.Avalonia.Demo.Android/MainActivity.cs create mode 100644 demo/Semi.Avalonia.Demo.Android/Properties/AndroidManifest.xml create mode 100644 demo/Semi.Avalonia.Demo.Android/Resources/drawable/Icon.png create mode 100644 demo/Semi.Avalonia.Demo.Android/Resources/drawable/splash_screen.xml create mode 100644 demo/Semi.Avalonia.Demo.Android/Resources/values/colors.xml create mode 100644 demo/Semi.Avalonia.Demo.Android/Resources/values/styles.xml create mode 100644 demo/Semi.Avalonia.Demo.Android/Semi.Avalonia.Demo.Android.csproj diff --git a/Semi.Avalonia.sln b/Semi.Avalonia.sln index eff44ce..3909b90 100644 --- a/Semi.Avalonia.sln +++ b/Semi.Avalonia.sln @@ -24,6 +24,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.DataGrid", "s EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.ColorPicker", "src\Semi.Avalonia.ColorPicker\Semi.Avalonia.ColorPicker.csproj", "{0B64C2F2-FDCD-48E4-AB9D-7CCC63B006CA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.Demo.Android", "demo\Semi.Avalonia.Demo.Android\Semi.Avalonia.Demo.Android.csproj", "{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -54,6 +56,10 @@ Global {0B64C2F2-FDCD-48E4-AB9D-7CCC63B006CA}.Debug|Any CPU.Build.0 = Debug|Any CPU {0B64C2F2-FDCD-48E4-AB9D-7CCC63B006CA}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B64C2F2-FDCD-48E4-AB9D-7CCC63B006CA}.Release|Any CPU.Build.0 = Release|Any CPU + {0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -62,6 +68,7 @@ Global {2ADCA724-2B6D-46EC-87F7-604D7918B89A} = {43091528-9509-43CB-A003-9C5C11E96DD6} {69A2C77D-6DB7-4AE4-B179-D1F5CF5E2DF0} = {43091528-9509-43CB-A003-9C5C11E96DD6} {D789AEDB-EBDF-4450-8E8E-B4A03FB257B0} = {43091528-9509-43CB-A003-9C5C11E96DD6} + {0C81FC1C-5D2D-478A-9876-923A0C85EC2F} = {43091528-9509-43CB-A003-9C5C11E96DD6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {7CA41ED3-2CED-40CC-AA21-28C3B42B1E86} diff --git a/demo/Semi.Avalonia.Demo.Android/MainActivity.cs b/demo/Semi.Avalonia.Demo.Android/MainActivity.cs new file mode 100644 index 0000000..b8ffe04 --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Avalonia.Android; + +namespace Semi.Avalonia.Demo; + +[Activity(Label = "Semi.Avalonia.Demo.Android", Icon = "@drawable/Icon", + LaunchMode = LaunchMode.SingleTop, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize)] +public class MainActivity : AvaloniaMainActivity +{ +} \ No newline at end of file diff --git a/demo/Semi.Avalonia.Demo.Android/Properties/AndroidManifest.xml b/demo/Semi.Avalonia.Demo.Android/Properties/AndroidManifest.xml new file mode 100644 index 0000000..c20e124 --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/demo/Semi.Avalonia.Demo.Android/Resources/drawable/Icon.png b/demo/Semi.Avalonia.Demo.Android/Resources/drawable/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b5694aa2509cbfd737cf4811d98e3f486235ece6 GIT binary patch literal 7266 zcmc&ZbypPJ(@V32z%EGl($WHwOT*GB(%s!%3(~nD-5mlFN`oK`QYxJi(%t#v`4aE@ z$ILx<&fGb3?wOuwH5EBrEHW$r0DudVm)3YWhyDXh^cP(7p*9ZypkRSXOKADz9OME& zXzDy&cQX~h#a|oDfiQt1Wi9&suf6qayav76^mD&?3FY2Scx2iNQwpDZtc-V`ds(eG zB^Vww*;RiKuJJ5wIugkav1eWC!9{yg3c#GiQqWspoatycQH-7B z9wDIf0Jxcio>K9BMSQ>qkrz|(j^O7Mpq1+3gH%FILaKmKtDY-mq~Fo73;;5G>IE%3 zk_n{+923X|lR}t+q~!v9XIhZ?@2Kk;mV4#M<91c$a`ppCu~QHg)E)>RS;WGzG~}b& zow=#w3f^|xlGJwA619?NYr4N%|t zs^soC?xgAH)V3S&MBpx^(mp8x12RUDOIL#f&Ea6Hp8`wQG)RUxCK;35m&xa;lXbt8 zZH=?++`TjH-8r!-ljcm}7h$&%zhURaNB4rKg^EZv;R)6uIpv3&u@`^i^UJaYC<%o~ z>U&XJU&$&6*Aa;?4r#mBO z&_KDENh|Ti>%dYY9pQ&gzWC#Z?&I+iZA{8I5)-(=59CLU4Tm41oHxuv^Z<0Q?|XIZ zh1~^b#V#Mm^xbow!Y~4mZqQw4y@i&YO#|&EgA6$p({~g9KOQp)N(}W=N>P7*Q2v8H zxXWIBV|`&prY=OmCkta-f%2^rbH-z5wyI0G(u*H>P8WtBFr1?8{LUx@=W$hm35oTp z5@!snoWMfNV#!%rjHFtVD;y03M z`8Pb5BVW|P8Z-Fteiw%uC4`s+^P{TKOkTNIRp8)0##w_<-}L@vi`;W85qHF}aVX7j zeLXMi4vE&4zPBiyoG)5?koAg!ScpQEE?ZSdj}jWtf0GWSLsiV-^J0WO7p4Za3fcd` za(8r!pRD&m)(sdL9efO`rG4j0DK6=nJ1`D$#n97JJKvD9Z+Pm^*^zGi zz1iXhJDvT-V|JI8Um^k@&2JWtC#QM|^E2JmIH2M?vhWxr$ zDVNcd7_+rOEDT0RD1FHL=ENG^^C5IBrn6L1ZiB;!eyDiE=mV%G;TcO@Tu%6?G?W*1 zGr&0q-83o|THmRU5w$7|bH%8`-<)#gT&mR>bfgP0Zk8Q|5TJyGJ<64l@c{=DwGUYE zg)*M#d?nK2{h#-ABMa{OVN$0^8DANEJ;X0aULDznGg^yam8J`QILq|uukMCgP zQD|phbi2u!?72XLt@yoFxNKReh`Y~%qkD?VNgT#jQ&J%%KzBb8*L5tEd%UW@~M% zvz&=&G_xB1Qc6+#wP4|f%SQ{pB#eOvt7Ic^`@+@b@y)X1^RORi7<2%2`zGcy7W(<@ zm|b#knjEnsQKVJ;<6>{_E9I%z^U={w~Rppc@XI$!(= zKpd>Li+0UZ23d`p&+nn{s= zjpb(jP$D?`F=0bbdO55leA$!)9Q0#5&-pTTPlwN-=6dAKEYf@pD=gDV3(~H(;YS?Mjz{tRI=)0C_LO# zge(Jc;G!6lRB<~{I)O!r1~`q!N%3r!E|umG`#9dO8b}$U=&|O+TbL1&!D0in)zJ#p zZ>U5PxBo|tlUHY4gvRi7i(yr(1PRl!bu0#xZRP)@TbZOm!?&8 zpx1$W3ba!ApJ)W^h#AJB415|kCMP+XTDvOvpR11(oR8D-XU)fNWU5MN zHIJh($<6^Gt!APQUMVxn+Y@HLei~!)7o_?np#8K&3>$GBU>Kfs^ zxTSje1JQ(vSjnAb(%{XrA`I-(j~bJi3R^145eU%x3tAKiht5VSi@-FToW^_u9JimH z_JemtC%_xVh9KTIuFA8lO2Fxpm3kezpPs�oHF~s4UuCr=BYw;LcaS=Xz7jK?*yw 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 INfY@00M=r&GXMYp literal 0 HcmV?d00001 diff --git a/demo/Semi.Avalonia.Demo.Android/Resources/drawable/splash_screen.xml b/demo/Semi.Avalonia.Demo.Android/Resources/drawable/splash_screen.xml new file mode 100644 index 0000000..b2a32f8 --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/Resources/drawable/splash_screen.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo.Android/Resources/values/colors.xml b/demo/Semi.Avalonia.Demo.Android/Resources/values/colors.xml new file mode 100644 index 0000000..3f6ac02 --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/Resources/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/demo/Semi.Avalonia.Demo.Android/Resources/values/styles.xml b/demo/Semi.Avalonia.Demo.Android/Resources/values/styles.xml new file mode 100644 index 0000000..2682e5f --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/Resources/values/styles.xml @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/demo/Semi.Avalonia.Demo.Android/Semi.Avalonia.Demo.Android.csproj b/demo/Semi.Avalonia.Demo.Android/Semi.Avalonia.Demo.Android.csproj new file mode 100644 index 0000000..cd28243 --- /dev/null +++ b/demo/Semi.Avalonia.Demo.Android/Semi.Avalonia.Demo.Android.csproj @@ -0,0 +1,22 @@ + + + Exe + net7.0-android + 21 + com.irihitech.Semi.Avalonia + 1 + 1.0 + apk + False + true + Semi.Avalonia.Demo + + + + + + + + + + \ No newline at end of file