├── .editorconfig ├── .gitattributes ├── .gitignore ├── FUNDING.yml ├── LICENSE ├── MvxForms.Core ├── App.xaml ├── App.xaml.cs ├── CoreApp.cs ├── MvxForms.Core.csproj ├── Pages │ ├── MvxFormsPage.xaml │ └── MvxFormsPage.xaml.cs └── ViewModels │ └── MvxFormsViewModel.cs ├── MvxForms.Droid ├── Assets │ └── AboutAssets.txt ├── LinkerPleaseInclude.cs ├── MainActivity.cs ├── MvxForms.Droid.csproj ├── Properties │ ├── AndroidManifest.xml │ └── AssemblyInfo.cs ├── Resources │ ├── AboutResources.txt │ ├── Resource.designer.cs │ ├── drawable-hdpi │ │ └── icon.png │ ├── drawable-xhdpi │ │ └── icon.png │ ├── drawable-xxhdpi │ │ └── icon.png │ ├── drawable │ │ ├── icon.png │ │ └── splash.png │ ├── layout │ │ ├── MainView.axml │ │ ├── SplashScreen.axml │ │ ├── Tabbar.axml │ │ └── Toolbar.axml │ └── values │ │ ├── SplashStyle.xml │ │ └── styles.xml ├── Setup.cs └── SplashScreen.cs ├── MvxForms.iOS ├── AppDelegate.cs ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json ├── Entitlements.plist ├── Info.plist ├── LaunchScreen.storyboard ├── LinkerPleaseInclude.cs ├── Main.cs ├── MvxForms.iOS.csproj └── Setup.cs ├── MvxForms.sln └── README.md /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome:http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | # Don't use tabs for indentation. 7 | [*] 8 | indent_style = space 9 | # (Please don't specify an indent_size here; that has too many unintended consequences.) 10 | 11 | # Code files 12 | [*.{cs,csx,vb,vbx}] 13 | indent_size = 4 14 | insert_final_newline = true 15 | charset = utf-8-bom 16 | 17 | # Xml project files 18 | [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}] 19 | indent_size = 2 20 | 21 | # Xml config files 22 | [*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}] 23 | indent_size = 2 24 | 25 | # JSON files 26 | [*.json] 27 | indent_size = 2 28 | 29 | # Dotnet code style settings: 30 | [*.{cs,vb}] 31 | # Sort using and Import directives with System.* appearing first 32 | dotnet_sort_system_directives_first = true 33 | # Avoid "this." and "Me." if not necessary 34 | dotnet_style_qualification_for_field = false:suggestion 35 | dotnet_style_qualification_for_property = false:suggestion 36 | dotnet_style_qualification_for_method = false:suggestion 37 | dotnet_style_qualification_for_event = false:suggestion 38 | 39 | # Use language keywords instead of framework type names for type references 40 | dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion 41 | dotnet_style_predefined_type_for_member_access = true:suggestion 42 | 43 | # Suggest more modern language features when available 44 | dotnet_style_object_initializer = true:suggestion 45 | dotnet_style_collection_initializer = true:suggestion 46 | dotnet_style_coalesce_expression = true:suggestion 47 | dotnet_style_null_propagation = true:suggestion 48 | dotnet_style_explicit_tuple_names = true:suggestion 49 | 50 | # CSharp code style settings: 51 | [*.cs] 52 | # Prefer "var" everywhere 53 | csharp_style_var_for_built_in_types = true:suggestion 54 | csharp_style_var_when_type_is_apparent = true:suggestion 55 | csharp_style_var_elsewhere = true:suggestion 56 | 57 | # Prefer method-like constructs to have a block body 58 | csharp_style_expression_bodied_methods = false:none 59 | csharp_style_expression_bodied_constructors = false:none 60 | csharp_style_expression_bodied_operators = false:none 61 | 62 | # Prefer property-like constructs to have an expression-body 63 | csharp_style_expression_bodied_properties = true:none 64 | csharp_style_expression_bodied_indexers = true:none 65 | csharp_style_expression_bodied_accessors = true:none 66 | 67 | # Suggest more modern language features when available 68 | csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion 69 | csharp_style_pattern_matching_over_as_with_null_check = true:suggestion 70 | csharp_style_inlined_variable_declaration = true:suggestion 71 | csharp_style_throw_expression = true:suggestion 72 | csharp_style_conditional_delegate_call = true:suggestion 73 | 74 | # Newline settings 75 | csharp_new_line_before_open_brace = all 76 | csharp_new_line_before_else = true 77 | csharp_new_line_before_catch = true 78 | csharp_new_line_before_finally = true 79 | csharp_new_line_before_members_in_object_initializers = true 80 | csharp_new_line_before_members_in_anonymous_types = true 81 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # This file is understood by git 1.7.2+. 2 | 3 | # Windows specific files should always be crlf on checkout 4 | *.bat text eol=crlf 5 | *.cmd text eol=crlf 6 | *.ps1 text eol=crlf 7 | 8 | # Check out the following as ln always for osx/linux/cygwin 9 | *.sh text eol=lf 10 | 11 | # Opt in the following types to always normalize line endings 12 | # on checkin and always use native endings on checkout. 13 | *.config text 14 | *.cs text diff=csharp 15 | *.csproj text 16 | *.md text 17 | *.msbuild text 18 | *.nuspec text 19 | *.pp text 20 | *.ps1 text 21 | *.sln text 22 | *.tt text 23 | *.txt text 24 | *.xaml text 25 | *.xml text 26 | 27 | # Binary files 28 | *.bmp binary 29 | *.jpeg binary 30 | *.jpg binary 31 | *.nupkg binary 32 | *.png binary 33 | *.sdf binary 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | ## Android Auto-generated files 5 | Resource.designer.cs 6 | 7 | # User-specific files 8 | *.suo 9 | *.user 10 | *.userosscache 11 | *.sln.docstates 12 | 13 | # User-specific files (MonoDevelop/Xamarin Studio) 14 | *.userprefs 15 | 16 | # Build results 17 | [Dd]ebug/ 18 | [Dd]ebugPublic/ 19 | [Rr]elease/ 20 | [Rr]eleases/ 21 | x64/ 22 | x86/ 23 | build/ 24 | bld/ 25 | [Bb]in/ 26 | [Oo]bj/ 27 | 28 | # Visual Studo 2015 cache/options directory 29 | .vs/ 30 | 31 | # MSTest test Results 32 | [Tt]est[Rr]esult*/ 33 | [Tt]est[Rr]esult* 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # .NET Core 46 | project.lock.json 47 | project.fragment.lock.json 48 | artifacts/ 49 | **/Properties/launchSettings.json 50 | 51 | *_i.c 52 | *_p.c 53 | *_i.h 54 | *.ilk 55 | *.meta 56 | *.obj 57 | *.pch 58 | *.pdb 59 | *.pgc 60 | *.pgd 61 | *.rsp 62 | *.sbr 63 | *.tlb 64 | *.tli 65 | *.tlh 66 | *.tmp 67 | *.tmp_proj 68 | *.log 69 | *.vspscc 70 | *.vssscc 71 | .builds 72 | *.pidb 73 | *.svclog 74 | *.scc 75 | *.exe 76 | *.bak 77 | *.cache 78 | *.lib 79 | 80 | # Chutzpah Test files 81 | _Chutzpah* 82 | 83 | # Visual C++ cache files 84 | ipch/ 85 | *.aps 86 | *.ncb 87 | *.opensdf 88 | *.sdf 89 | *.cachefile 90 | 91 | # Visual Studio profiler 92 | *.psess 93 | *.vsp 94 | *.vspx 95 | 96 | # TFS 2012 Local Workspace 97 | $tf/ 98 | 99 | # Guidance Automation Toolkit 100 | *.gpState 101 | 102 | # ReSharper is a .NET coding add-in 103 | _ReSharper*/ 104 | *.[Rr]e[Ss]harper 105 | *.DotSettings.user 106 | 107 | # JustCode is a .NET coding addin-in 108 | .JustCode 109 | 110 | # TeamCity is a build add-in 111 | _TeamCity* 112 | 113 | # DotCover is a Code Coverage Tool 114 | *.dotCover 115 | 116 | # NCrunch 117 | _NCrunch_* 118 | .*crunch*.local.xml 119 | *.ncrunchproject 120 | 121 | # MightyMoose 122 | *.mm.* 123 | AutoTest.Net/ 124 | 125 | # Web workbench (sass) 126 | .sass-cache/ 127 | 128 | # Installshield output folder 129 | [Ee]xpress/ 130 | 131 | # DocProject is a documentation generator add-in 132 | DocProject/buildhelp/ 133 | DocProject/Help/*.HxT 134 | DocProject/Help/*.HxC 135 | DocProject/Help/*.hhc 136 | DocProject/Help/*.hhk 137 | DocProject/Help/*.hhp 138 | DocProject/Help/Html2 139 | DocProject/Help/html 140 | 141 | # Click-Once directory 142 | publish/ 143 | 144 | # Publish Web Output 145 | *.[Pp]ublish.xml 146 | *.azurePubxml 147 | # TODO: Comment the next line if you want to checkin your web deploy settings 148 | # but database connection strings (with potential passwords) will be unencrypted 149 | *.pubxml 150 | *.publishproj 151 | 152 | # NuGet Packages 153 | *.nupkg 154 | # The packages folder can be ignored because of Package Restore 155 | **/packages/* 156 | # except build/, which is used as an MSBuild target. 157 | !**/packages/build/ 158 | # Uncomment if necessary however generally it will be regenerated when needed 159 | #!**/packages/repositories.config 160 | # NuGet v3's project.json files produces more ignoreable files 161 | *.nuget.props 162 | *.nuget.targets 163 | 164 | #Allow NuGet.exe (do not ignore) 165 | !NuGet.exe 166 | *.orig 167 | 168 | # Windows Azure Build Output 169 | csx/ 170 | *.build.csdef 171 | 172 | # Windows Store app package directory 173 | AppPackages/ 174 | 175 | # Others 176 | *.[Cc]ache 177 | ClientBin/ 178 | [Ss]tyle[Cc]op.* 179 | ~$* 180 | *~ 181 | *.dbmdl 182 | *.dbproj.schemaview 183 | *.pfx 184 | *.publishsettings 185 | node_modules/ 186 | bower_components/ 187 | 188 | # RIA/Silverlight projects 189 | Generated_Code/ 190 | 191 | # Backup & report files from converting an old project file 192 | # to a newer Visual Studio version. Backup files are not needed, 193 | # because we have git ;-) 194 | _UpgradeReport_Files/ 195 | Backup*/ 196 | UpgradeLog*.XML 197 | UpgradeLog*.htm 198 | 199 | # SQL Server files 200 | *.mdf 201 | *.ldf 202 | 203 | # Business Intelligence projects 204 | *.rdl.data 205 | *.bim.layout 206 | *.bim_*.settings 207 | 208 | # Microsoft Fakes 209 | FakesAssemblies/ 210 | 211 | # Node.js Tools for Visual Studio 212 | .ntvs_analysis.dat 213 | 214 | # Visual Studio 6 build log 215 | *.plg 216 | 217 | # Visual Studio 6 workspace options file 218 | *.opt 219 | 220 | #ignore thumbnails created by windows 221 | Thumbs.db 222 | 223 | # Xcode 224 | .DS_Store 225 | */build/* 226 | *.pbxuser 227 | !default.pbxuser 228 | *.mode1v3 229 | !default.mode1v3 230 | *.mode2v3 231 | !default.mode2v3 232 | *.perspectivev3 233 | !default.perspectivev3 234 | xcuserdata 235 | profile 236 | *.moved-aside 237 | DerivedData 238 | .idea/ 239 | *.hmap 240 | *.xccheckout 241 | 242 | #CocoaPods 243 | Pods 244 | nuspec/nuget.exe 245 | 246 | # NuGet 247 | packages/ 248 | repositories.config 249 | 250 | #Build 251 | project.lock.json 252 | tools/* 253 | !tools/packages.config 254 | artifacts/ 255 | *.nupkg 256 | *.binlog 257 | 258 | #linting 259 | .sonarqube/ -------------------------------------------------------------------------------- /FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: Baseflow 2 | custom: https://baseflow.com/contact 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Martijn van Dijk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MvxForms.Core/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /MvxForms.Core/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | 3 | namespace MvxForms.Core 4 | { 5 | public partial class App : Application 6 | { 7 | public App() 8 | { 9 | InitializeComponent(); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MvxForms.Core/CoreApp.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.IoC; 2 | using MvvmCross.ViewModels; 3 | 4 | namespace MvxForms.Core 5 | { 6 | public class CoreApp : MvxApplication 7 | { 8 | public override void Initialize() 9 | { 10 | CreatableTypes() 11 | .EndingWith("Service") 12 | .AsInterfaces() 13 | .RegisterAsLazySingleton(); 14 | 15 | RegisterAppStart(); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MvxForms.Core/MvxForms.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /MvxForms.Core/Pages/MvxFormsPage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /MvxForms.Core/Pages/MvxFormsPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Forms.Views; 2 | using MvxForms.Core.ViewModels; 3 | 4 | namespace MvxForms.Core.Pages 5 | { 6 | public partial class MvxFormsPage : MvxContentPage 7 | { 8 | public MvxFormsPage() 9 | { 10 | InitializeComponent(); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MvxForms.Core/ViewModels/MvxFormsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using MvvmCross.Commands; 3 | using MvvmCross.ViewModels; 4 | 5 | namespace MvxForms.Core.ViewModels 6 | { 7 | public class MvxFormsViewModel : MvxViewModel 8 | { 9 | public MvxFormsViewModel() 10 | { 11 | } 12 | 13 | public override Task Initialize() 14 | { 15 | //TODO: Add starting logic here 16 | 17 | return base.Initialize(); 18 | } 19 | 20 | public IMvxCommand ResetTextCommand => new MvxCommand(ResetText); 21 | private void ResetText() 22 | { 23 | Text = "Hello MvvmCross"; 24 | } 25 | 26 | private string _text = "Hello MvvmCross"; 27 | public string Text 28 | { 29 | get { return _text; } 30 | set { SetProperty(ref _text, value); } 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MvxForms.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /MvxForms.Droid/LinkerPleaseInclude.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Specialized; 2 | using System.Windows.Input; 3 | using Android.App; 4 | using Android.Views; 5 | using Android.Widget; 6 | using MvvmCross.Binding.BindingContext; 7 | using MvvmCross.Navigation; 8 | using MvvmCross.ViewModels; 9 | 10 | namespace MvxForms.Droid 11 | { 12 | // This class is never actually executed, but when Xamarin linking is enabled it does how to ensure types and properties 13 | // are preserved in the deployed app 14 | public class LinkerPleaseInclude 15 | { 16 | public void Include(Button button) 17 | { 18 | button.Click += (s,e) => button.Text = button.Text + ""; 19 | } 20 | 21 | public void Include(CheckBox checkBox) 22 | { 23 | checkBox.CheckedChange += (sender, args) => checkBox.Checked = !checkBox.Checked; 24 | } 25 | 26 | public void Include(Switch @switch) 27 | { 28 | @switch.CheckedChange += (sender, args) => @switch.Checked = !@switch.Checked; 29 | } 30 | 31 | public void Include(View view) 32 | { 33 | view.Click += (s, e) => view.ContentDescription = view.ContentDescription + ""; 34 | } 35 | 36 | public void Include(TextView text) 37 | { 38 | text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text; 39 | text.Hint = "" + text.Hint; 40 | } 41 | 42 | public void Include(CheckedTextView text) 43 | { 44 | text.AfterTextChanged += (sender, args) => text.Text = "" + text.Text; 45 | text.Hint = "" + text.Hint; 46 | } 47 | 48 | public void Include(CompoundButton cb) 49 | { 50 | cb.CheckedChange += (sender, args) => cb.Checked = !cb.Checked; 51 | } 52 | 53 | public void Include(SeekBar sb) 54 | { 55 | sb.ProgressChanged += (sender, args) => sb.Progress = sb.Progress + 1; 56 | } 57 | 58 | public void Include(RadioGroup radioGroup) 59 | { 60 | radioGroup.CheckedChange += (sender, args) => radioGroup.Check(args.CheckedId); 61 | } 62 | 63 | public void Include(RadioButton radioButton) 64 | { 65 | radioButton.CheckedChange += (sender, args) => radioButton.Checked = args.IsChecked; 66 | } 67 | 68 | public void Include(RatingBar ratingBar) 69 | { 70 | ratingBar.RatingBarChange += (sender, args) => ratingBar.Rating = 0 + ratingBar.Rating; 71 | } 72 | 73 | public void Include(Activity act) 74 | { 75 | act.Title = act.Title + ""; 76 | } 77 | 78 | public void Include(INotifyCollectionChanged changed) 79 | { 80 | changed.CollectionChanged += (s,e) => { var test = $"{e.Action}{e.NewItems}{e.NewStartingIndex}{e.OldItems}{e.OldStartingIndex}"; }; 81 | } 82 | 83 | public void Include(ICommand command) 84 | { 85 | command.CanExecuteChanged += (s, e) => { if (command.CanExecute(null)) command.Execute(null); }; 86 | } 87 | 88 | public void Include(MvvmCross.IoC.MvxPropertyInjector injector) 89 | { 90 | injector = new MvvmCross.IoC.MvxPropertyInjector (); 91 | } 92 | 93 | public void Include(System.ComponentModel.INotifyPropertyChanged changed) 94 | { 95 | changed.PropertyChanged += (sender, e) => { 96 | var test = e.PropertyName; 97 | }; 98 | } 99 | 100 | public void Include(MvxTaskBasedBindingContext context) 101 | { 102 | context.Dispose(); 103 | var context2 = new MvxTaskBasedBindingContext(); 104 | context2.Dispose(); 105 | } 106 | 107 | public void Include(MvxNavigationService service, IMvxViewModelLoader loader) 108 | { 109 | service = new MvxNavigationService(null, loader); 110 | } 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /MvxForms.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Content.PM; 3 | using Android.OS; 4 | using MvvmCross.Forms.Platforms.Android.Views; 5 | 6 | namespace MvxForms.Droid 7 | { 8 | [Activity(Label = "MvxForms.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 9 | public class MainActivity : MvxFormsAppCompatActivity 10 | { 11 | protected override void OnCreate(Bundle bundle) 12 | { 13 | base.OnCreate(bundle); 14 | TabLayoutResource = Resource.Layout.Tabbar; 15 | ToolbarResource = Resource.Layout.Toolbar; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MvxForms.Droid/MvxForms.Droid.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | {0F7AD86D-BEEE-4413-92DF-E3E142EB1794} 7 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 8 | Library 9 | MvxForms.Droid 10 | MvxForms.Droid 11 | v9.0 12 | True 13 | Resources\Resource.designer.cs 14 | Resource 15 | Properties\AndroidManifest.xml 16 | Resources 17 | Assets 18 | 19 | 20 | true 21 | full 22 | false 23 | bin\Debug 24 | DEBUG; 25 | prompt 26 | 4 27 | None 28 | 29 | 30 | true 31 | pdbonly 32 | true 33 | bin\Release 34 | prompt 35 | 4 36 | true 37 | false 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 6.4.2 75 | 76 | 77 | 6.4.2 78 | 79 | 80 | 4.5.0.617 81 | 82 | 83 | 84 | 85 | {F51D9DFF-9348-48C3-A075-03F7EB4175C2} 86 | MvxForms.Core 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /MvxForms.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MvxForms.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using Android.App; 4 | 5 | // Information about this assembly is defined by the following attributes. 6 | // Change them to the values specific to your project. 7 | 8 | [assembly: AssemblyTitle("MvxForms.Droid")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("")] 13 | [assembly: AssemblyCopyright("${AuthorCopyright}")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 18 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 19 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 20 | 21 | [assembly: AssemblyVersion("1.0.0")] 22 | 23 | // The following attributes are used to specify the signing key for the assembly, 24 | // if desired. See the Mono documentation for more information about signing. 25 | 26 | //[assembly: AssemblyDelaySign(false)] 27 | //[assembly: AssemblyKeyFile("")] 28 | -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.axml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable/ 12 | icon.png 13 | 14 | layout/ 15 | main.axml 16 | 17 | values/ 18 | strings.xml 19 | 20 | In order to get the build system to recognize Android resources, set the build action to 21 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 22 | instead operate on resource IDs. When you compile an Android application that uses resources, 23 | the build system will package the resources for distribution and generate a class called "R" 24 | (this is an Android convention) that contains the tokens for each one of the resources 25 | included. For example, for the above Resources layout, this is what the R class would expose: 26 | 27 | public class R { 28 | public class drawable { 29 | public const int icon = 0x123; 30 | } 31 | 32 | public class layout { 33 | public const int main = 0x456; 34 | } 35 | 36 | public class strings { 37 | public const int first_string = 0xabc; 38 | public const int second_string = 0xbcd; 39 | } 40 | } 41 | 42 | You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 43 | to reference the layout/main.axml file, or R.strings.first_string to reference the first 44 | string in the dictionary file values/strings.xml. 45 | -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/drawable/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baseflow/MvxForms/dc8eae65e94f109432bb0c7ded0a712bcf5bcf7a/MvxForms.Droid/Resources/drawable/splash.png -------------------------------------------------------------------------------- /MvxForms.Droid/Resources/layout/MainView.axml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 12 |