Xamarin.Forms
#xamarin.fo rms Sommario
Di 1
Capitolo 1: Iniziare con Xamarin.Forms 2
Osservazioni 2
Versioni 2
Examples 3
Installazione (Visual Studio) 3
Xamarin Plugin per Visual Studio 3
Xamarin.Forms 4
Hello World Xamarin Forms: Visual Studio 5
Passaggio 1: creazione di un nuovo progetto. 5
Passaggio 2: analisi del campione 6
Passaggio 3: avvio dell'applicazione 7
Capitolo 2: Accesso alle funzionalità native con DependencyService 8
Osservazioni 8
Examples 8
Implementazione del text-to-speech 8
Implementazione iOS 9
Implementazione Android 10
Implementazione di Windows Phone 11
Implementazione in codice condiviso 12
Ottenere numeri di versione del sistema operativo dell'applicazione e del dispositivo - An 12
Capitolo 3: AppSettings Reader in Xamarin.Forms 15
Examples 15
Lettura del file app.config in un progetto Xaml Xamarin.Forms 15
Capitolo 4: Associazione dati 17
Osservazioni 17
Possibili eccezioni 17
System.ArrayTypeMismatchException: Tentativo di accedere a un elemento come tipo incompati 17
System.ArgumentException: oggetto di tipo 'Xamarin.Forms.Binding' non può essere convertit 17 Il Picker.Items proprietà non è Bindable 17
Examples 18
Collegamento di base a ViewModel 18
Capitolo 5: Avviso display 20
Examples 20
DisplayAlert 20
Esempio di avviso con un solo pulsante e azione 21
Capitolo 6: caching 22
Examples 22
Memorizzazione nella cache con Akavache 22
Informazioni su Akavache 22
Raccomandazioni per Xamarin 22
Semplice esempio 22
Gestione degli errori 23
Capitolo 7: Caratteri personalizzati negli stili 24
Osservazioni 24
Examples 24
Accesso a caratteri personalizzati in Syles 24
Capitolo 8: CarouselView - Versione pre-release 27
Osservazioni 27
Examples 27
Importa CarouselView 27
Importa CarouselView in una pagina XAML 28
Le basi 28
Creazione di origine bindable 28
DataTemplates 28
Capitolo 9: Cellule Xamarin.Forms 30
Examples 30
EntryCell 30
SwitchCell 30
TextCell 31 ImageCell 32
ViewCell 33
Capitolo 10: Ciclo di vita generico dell'app Xamarin.Forms? Platform-dipendente! 35
Examples 35
Il ciclo di vita di Xamarin.Forms non è l'effettivo ciclo di vita dell'app ma una rapprese 35
Capitolo 11: Comportamento specifico della piattaforma 37
Osservazioni 37
Examples 37
Rimozione dell'icona nell'intestazione di navigazione in Anroid 37
Riduci le dimensioni del carattere dell'etichetta in iOS 38
Capitolo 12: Creazione di controlli personalizzati 40
Examples 40
Creare un controllo di input personalizzato di Xamarin Forms (non è richiesto alcun nativo 40
Etichetta con raccolta cumulabile di span 43
Creazione di un controllo voce personalizzato con una proprietà MaxLength 44
Capitolo 13: Creazione di controlli personalizzati 46
introduzione 46
Examples 46
Implementazione di un controllo CheckBox 46
Creazione del controllo personalizzato 46
Consumare il controllo personalizzato 47
Creazione del renderizzatore personalizzato su ciascuna piattaforma 47
Creazione del renderizzatore personalizzato per Android 48
Creazione del renderizzatore personalizzato per iOS 49
Capitolo 14: Creazione di controlli personalizzati 54
Examples 54
Creazione di un pulsante personalizzato 54
Capitolo 15: Database SQL e API in Xamarin Forms. 56
Osservazioni 56
Examples 56
Creare API utilizzando il database SQL e implementare nei moduli Xamarin, 56 Capitolo 16: DependencyService 57
Osservazioni 57
Examples 57
Interfaccia 57
implementazione iOS 57
Codice condiviso 58
Implementazione Android 59
Capitolo 17: effetti 61
introduzione 61
Examples 61
Aggiunta di effetti specifici per piattaforma per un controllo di entrata 61
Capitolo 18: Gesti 66
Examples 66
Crea un'immagine toccabile aggiungendo un TapGestureRecognizer 66
Ingrandisci un'immagine con il gesto di pizzica 66
Mostra tutto il contenuto dell'immagine ingrandito con PanGestureRecognizer 67
Posiziona un segnaposto dove l'utente ha toccato lo schermo con MR.Gestures 67
Capitolo 19: Gesto Xamarin 69
Examples 69
Tocca Gesto 69
Capitolo 20: Gesto Xamarin 70
Examples 70
Evento di gesto 70
Capitolo 21: La gestione delle eccezioni 72
Examples 72
Un modo per segnalare le eccezioni su iOS 72
Capitolo 22: Lavorare con database locali 75
Examples 75
Utilizzo di SQLite.NET in un progetto condiviso 75
Lavorare con database locali utilizzando xamarin.forms in visual studio 2015 77
Capitolo 23: Lavorare con Maps 87 Osservazioni 87
Examples 87
Aggiunta di una mappa in Xamarin.Forms (Xamarin Studio) 87
Inizializzazione delle mappe 87
progetto iOS 87
Progetto Android 87
Configurazione della piattaforma 88
progetto iOS 88
Progetto Android 89
Aggiungere una mappa 98
Progetto PCL 98
Capitolo 24: Le notifiche push 100
Osservazioni 100
Examples 100
Notifiche push per iOS con Azure 100
Notifiche push per Android con Azure 103
Notifiche push per Windows Phone con Azure 106
Capitolo 25: Le notifiche push 108
Osservazioni 108
Lingo di notifica semplice AWS: 108
Lingo di notifica push generico: 108
Examples 108
Esempio di iOS 108
Capitolo 26: MessagingCenter 110
introduzione 110
Examples 110
Semplice esempio 110
Passando argomenti 111
Cancellazione, cancellami 111
Capitolo 27: Navigazione in Xamarin.Forms 112
Examples 112 Flusso NavigationPage 112
Flusso NavigationPage con XAML 113
Navigazione gerarchica con XAML 114
Spingendo nuove pagine 114
Page1.xaml 115
Page1.xaml.cs 115
Page2.xaml 115
Page2.xaml.cs 115
Popping pages 116
Page3.xaml 116
Page3.xaml.cs 116
Navigazione modale con XAML 116
Modifiche a schermo intero 117
Avvisi / conferme e notifiche 117
ActionSheets 117
Pagina principale di dettaglio principale 117
Navigazione dettagliata principale 118
Capitolo 28: Navigazione in Xamarin.Forms 119
Osservazioni 119
Examples 119
Utilizzo di INavigation dal modello di visualizzazione 119
Capitolo 29: OAuth2 123
Examples 123
Autenticazione tramite plug-in 123
Capitolo 30: Pagina Xamarin.Forms 125
Examples 125
TabbedPage 125
Pagina dei contenuti 126
MasterDetailPage 127
Capitolo 31: Perché Xamarin Forms e When to use Xamarin Forms 129
Osservazioni 129
Examples 129 Perché Xamarin Forms e When to use Xamarin Forms 129
Capitolo 32: Regolazioni visive specifiche della piattaforma 131
Examples 131
Regolazioni idioma 131
Regolazioni della piattaforma 131
Usando gli stili 132
Utilizzo di viste personalizzate 132
Capitolo 33: Renderizzatori personalizzati 134
Examples 134
Renderer personalizzato per ListView 134
Renderizzatore personalizzato per BoxView 136
Accesso al renderer da un progetto nativo 140
Etichetta arrotondata con un renderizzatore personalizzato per Frame (parti PCL e iOS) 140
BoxView arrotondato con colore di sfondo selezionabile 141
Capitolo 34: Selettore contatti - Form Xamarin (Android e iOS) 144
Osservazioni 144
Examples 144
contact_picker.cs 144
MyPage.cs 144
ChooseContactPicker.cs 145
ChooseContactActivity.cs 145
MainActivity.cs 147
ChooseContactRenderer.cs 147
Capitolo 35: Servizi di dipendenza 150
Osservazioni 150
Examples 150
Accedi a Fotocamera e Galleria. 150
Capitolo 36: Test dell'unità BDD in Xamarin.Forms 151
Osservazioni 151
Examples 151
Simple Specflow per testare i comandi e la navigazione con NUnit Test Runner 151 perché ne abbiamo bisogno? 151 Uso: 151
Uso avanzato per MVVM 153
Capitolo 37: Test unitario 155
Examples 155
Test dei modelli di visualizzazione 155
Prima di iniziare ... 155
Requisiti aziendali 155
Classi comuni 156
Servizi 156
Costruire lo stub ViewModel 157
Come creare un'istanza LoginPageViewModel? 158 test 158
Test di scrittura 159
Implementazione della logica aziendale 160
Capitolo 38: Trigger & Behaviors 162
Examples 162
Esempio di trigger di Xamarin Form 162
Multi trigger 163
Capitolo 39: Utilizzando ListViews 165
introduzione 165
Examples 165
Pull to Refresh in XAML e Code behind 165
Capitolo 40: Xamarin Forms Layouts 166
Examples 166
ContentPresenter 166
contentView 166
Telaio 167
ScrollView 168
TemplatedView 170
AbsoluteLayout 170
Griglia 173 RelativeLayout 175
stackLayout 176
Utilizzo in XAML 177
Utilizzo nel codice 177
Capitolo 41: Xamarin Plugin 180
Examples 180
Condividi Plugin 180
ExternalMaps 180
Geolocator Plugin 181
Media Plugin 183
Plugin di messaggistica 186
Plugin di autorizzazioni 188
Capitolo 42: Xamarin Relative Layout 192
Osservazioni 192
Examples 192
Pagina con un'etichetta semplice al centro 192
Scatola dopo scatola 194
Capitolo 43: Xamarin.Forms Views 197
Examples 197
Pulsante 197
Date picker 198
Iscrizione 199
editore 200
Immagine 201
Etichetta 202
Titoli di coda 204 Di
You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: xamarin-forms
It is an unofficial and free Xamarin.Forms ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official Xamarin.Forms.
The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.
Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]
https://riptutorial.com/it/home 1 Capitolo 1: Iniziare con Xamarin.Forms
Osservazioni
Xamarin.Forms consente di creare app iOS, Android e Windows con grandi quantità di codice condiviso, incluso il codice dell'interfaccia utente o il markup dell'interfaccia utente XAML. Le pagine e le viste delle app sono associate ai controlli nativi su ciascuna piattaforma, ma possono essere personalizzate per fornire un'interfaccia utente specifica della piattaforma o per accedere a funzionalità specifiche della piattaforma.
Versioni
Versione Data di rilascio
2.3.1 2016/08/03
2.3.0-Hotfix1 2016/06/29
2.3.0 2016/06/16
2.2.0-Hotfix1 2016/05/30
2.2.0 2016/04/27
2.1.0 2016/03/13
2.0.1 2016/01/20
2.0.0 2015/11/17
1.5.1 2016/10/20
1.5.0 2016/09/25
1.4.4 2015/07/27
1.4.3 2015/06/30
1.4.2 2015/04/21
1.4.1 2015/03/30
1.4.0 2015/03/09
1.3.5 2015/03/02
1.3.4 2015/02/17 https://riptutorial.com/it/home 2 Versione Data di rilascio
1.3.3 2015/02/09
1.3.2 2015/02/03
1.3.1 2015/01/04
1.3.0 2014/12/24
1.2.3 2014/10/02
1.2.2 2014/07/30
1.2.1 2014/07/14
1.2.0 2014/07/11
1.1.1 2014-06-19
1.1.0 2014/06/12
1.0.1 2014/06/04
Examples
Installazione (Visual Studio)
Xamarin.Forms è un'astrazione dell'interfaccia utente dell'interfaccia utente nativamente supportata da più piattaforme che consente agli sviluppatori di creare facilmente interfacce utente che possono essere condivise su Android, iOS, Windows e Windows Phone. Le interfacce utente sono renderizzate utilizzando i controlli nativi della piattaforma di destinazione, consentendo alle applicazioni Xamarin.Form di mantenere l'aspetto e il feel appropriati per ciascuna piattaforma. Xamarin Plugin per Visual Studio
Per iniziare con Xamarin.Forms per Visual Studio è necessario avere il plugin Xamarin stesso. Il modo più semplice per installarlo è scaricare e installare l'ultima versione di Visual Studio.
Se hai già installato Visual Studio più recente, vai a Pannello di controllo> Programmi e funzionalità, fai clic con il tasto destro su Visual Studio e fai clic su Cambia. Quando si apre il programma di installazione, fai clic su Modifica e seleziona gli strumenti di sviluppo mobile multipiattaforma:
https://riptutorial.com/it/home 3 Puoi anche scegliere di installare l'SDK di Android:
Deselezionalo se hai già installato l'SDK. Sarai in grado di configurare Xamarin per utilizzare l'SDK Android esistente in seguito. Xamarin.Forms
Xamarin.Forms è un set di librerie per la libreria di classi portatili e gli assembly nativi. La stessa libreria Xamarin.Forms è disponibile come pacchetto NuGet. Per aggiungerlo al tuo progetto basta usare il normale comando Install-Package della Console di Gestione pacchetti:
Install-Package Xamarin.Forms per tutti gli assembly iniziali (ad esempio MyProject, MyProject.Droid e MyProject.iOS).
Il modo più semplice per iniziare con Xamarin.Forms è creare un progetto vuoto in Visual Studio:
https://riptutorial.com/it/home 4 Come puoi vedere ci sono 2 opzioni disponibili per creare l'app vuota - Portatile e condiviso. Vi consiglio di iniziare con Portable one perché è il più usato nel mondo reale (differenze e ulteriori spiegazioni da aggiungere).
Dopo aver creato il progetto, assicurati di utilizzare l'ultima versione di Xamarin.Forms poiché il modello iniziale potrebbe contenere quello vecchio. Usa la tua Console Gestione pacchetti o Gestisci l'opzione Pacchetti NuGet per eseguire l'aggiornamento agli ultimi Xamarin.Forms (ricorda che è solo un pacchetto NuGet).
Mentre i modelli di Visual Studio Xamarin.Forms creeranno per te un progetto di piattaforma iOS, dovrai connettere Xamarin a un host di build Mac per poter eseguire questi progetti su iOS Simulator o dispositivi fisici.
Hello World Xamarin Forms: Visual Studio
Dopo aver installato Xamarin come descritto nel primo esempio, è ora di lanciare la prima applicazione di esempio. Passaggio 1: creazione di un nuovo progetto.
In Visual Studio, scegli Nuovo -> Progetto -> Visual C # -> Cross-Platform -> Blank App (Xamarin.Forms Portable) https://riptutorial.com/it/home 5 Denominare l'app "Hello World" e selezionare la posizione per creare il progetto e fare clic su OK. Questo creerà una soluzione per te che contiene tre progetti:
1. HelloWorld (qui è posizionata la logica e le viste, ovvero il progetto portatile) 2. HelloWorld.Droid (il progetto Android) 3. HelloWorld.iOS (il progetto iOS)
Passaggio 2: analisi del campione
Dopo aver creato la soluzione, un'applicazione di esempio sarà pronta per essere distribuita. Apri App.cs trova nella radice del progetto portatile e investiga il codice. Come visto sotto, il Content del campione è uno StackLayout che contiene Label :
https://riptutorial.com/it/home 6 using Xamarin.Forms;
namespace Hello_World { public class App : Application { public App() { // The root page of your application MainPage = new ContentPage { Content = new StackLayout { VerticalOptions = LayoutOptions.Center, Children = { new Label { HorizontalTextAlignment = TextAlignment.Center, Text = "Welcome to Xamarin Forms!" } } } }; } protected override void OnStart() { // Handle when your app starts } protected override void OnSleep() { // Handle when your app sleeps } protected override void OnResume() { // Handle when your app resumes } } }
Passaggio 3: avvio dell'applicazione
Ora fai semplicemente clic con il pulsante destro del mouse sul progetto che desideri avviare ( HelloWorld.Droid o HelloWorld.iOS ) e fai clic su Set as StartUp Project di avvio. Quindi, nella barra degli strumenti di Visual Studio, fare clic sul pulsante Start (il pulsante triangolare verde che assomiglia a un pulsante Riproduci) per avviare l'applicazione sul simulatore / emulatore di destinazione.
Leggi Iniziare con Xamarin.Forms online: https://riptutorial.com/it/xamarin-forms/topic/908/iniziare- con-xamarin-forms
https://riptutorial.com/it/home 7 Capitolo 2: Accesso alle funzionalità native con DependencyService
Osservazioni
Se non vuoi che il tuo codice si interrompa quando non viene trovata alcuna implementazione, controlla prima DependencyService se ha un'implementazione disponibile.
Puoi farlo con un semplice controllo se non è null .
var speaker = DependencyService.Get
if (speaker != null) { speaker.Speak("Ready for action!"); } oppure, se il tuo IDE supporta C # 6, con operatore null-condizionale:
var speaker = DependencyService.Get
speaker?.Speak("Ready for action!");
Se non lo fai e non viene trovata alcuna implementazione in fase di runtime, il tuo codice genererà un'eccezione.
Examples
Implementazione del text-to-speech
Un buon esempio di una funzione che richiede il codice specifico della piattaforma è quando si desidera implementare la sintesi vocale (tts). Questo esempio presuppone che si stia lavorando con codice condiviso in una libreria PCL.
Una panoramica schematica della nostra soluzione apparirebbe come l'immagine sottostante.
https://riptutorial.com/it/home 8 Nel nostro codice condiviso definiamo un'interfaccia che è registrata con DependencyService . Qui è dove faremo le nostre chiamate. Definisci un'interfaccia come sotto.
public interface ITextToSpeech { void Speak (string text); }
Ora in ogni piattaforma specifica, abbiamo bisogno di creare un'implementazione di questa interfaccia. Iniziamo con l'implementazione iOS. Implementazione iOS
using AVFoundation;
public class TextToSpeechImplementation : ITextToSpeech { https://riptutorial.com/it/home 9 public TextToSpeechImplementation () {}
public void Speak (string text) { var speechSynthesizer = new AVSpeechSynthesizer ();
var speechUtterance = new AVSpeechUtterance (text) { Rate = AVSpeechUtterance.MaximumSpeechRate/4, Voice = AVSpeechSynthesisVoice.FromLanguage ("en-US"), Volume = 0.5f, PitchMultiplier = 1.0f };
speechSynthesizer.SpeakUtterance (speechUtterance); } }
Nell'esempio di codice sopra riportato si nota che esiste un codice specifico per iOS. Ti piace tipi come AVSpeechSynthesizer . Questi non funzionerebbero nel codice condiviso.
Per registrare questa implementazione con Xamarin DependencyService aggiungere questo attributo sopra la dichiarazione dello spazio dei nomi.
using AVFoundation; using DependencyServiceSample.iOS;//enables registration outside of namespace
[assembly: Xamarin.Forms.Dependency (typeof (TextToSpeechImplementation))] namespace DependencyServiceSample.iOS { public class TextToSpeechImplementation : ITextToSpeech //... Rest of code
Ora quando fai una chiamata come questa nel tuo codice condiviso, viene iniettata l'implementazione corretta per la piattaforma su cui stai eseguendo la tua app.
DependencyService.Get
L'implementazione di Android di questo codice potrebbe apparire come sotto.
using Android.Speech.Tts; using Xamarin.Forms; using System.Collections.Generic; using DependencyServiceSample.Droid;
public class TextToSpeechImplementation : Java.L