Archivio Categoria: xamarin

Articolo il tuo sito in un’app su ioprogrammo

4-213g

Sul numero 213 di questo mese di ioprogrammo √® stato pubblicato il mio articolo su come utilizzare Xamarin per portare il vostro blog wordpress in un’app su Windows, Android e iOS.

Buona lettura ūüėÄ

Utilizzare il ProgressRing nell’ActivityIndicator in Xamarin Forms

Su Xamarin forms per le app UWP il componente ActivityIndicator √® mappato sulla classe ProgressBar e come √® possibile¬†potete vedere nello screen non √® un comportamento congruente con le altre piattaforme e la momento¬†non c’√® modo di cambiarlo con un ProgressRing.

activityindicatorCon il meccanismo dei CustomRenderer possiamo ovviare a questo problema in modo molto semplice inserendo una semplice classe nel nostro progetto UWP

[assembly: ExportRenderer(typeof(ActivityIndicator), typeof(RingActivityIndicatorRenderer))]
namespace DoGethersApp.UWP
{
    public class RingActivityIndicatorRenderer : ViewRenderer<ActivityIndicator, Windows.UI.Xaml.Controls.ProgressRing>
    {
        private Brush foregroundDefault;
        protected override void OnElementChanged(ElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            if (e.NewElement != null)

            {
                if (Control == null)
                {
                    SetNativeControl(new Windows.UI.Xaml.Controls.ProgressRing());
                    Control.Loaded += OnControlLoaded;
                }
                UpdateIsRunning();
            }
        }

        protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);
            if (e.PropertyName == ActivityIndicator.IsRunningProperty.PropertyName)
            {
                UpdateIsRunning();
            }

            else if (e.PropertyName == ActivityIndicator.ColorProperty.PropertyName)
            {
                UpdateColor();
            }
        }

        void OnControlLoaded(object sender, RoutedEventArgs routedEventArgs)
        {
            foregroundDefault = Control.Foreground;
            UpdateColor();
        }

        void UpdateColor()
        {
            Color color = Element.Color;
            if (color == Color.Default)
            {
                Control.Foreground = foregroundDefault;
            }
            else
            {
                Control.Foreground = color.ToBrush();
            }
        }

        void UpdateIsRunning()
        {
            Control.IsActive = Element.IsRunning;
        }
    }

    internal static class ConvertExtensions
    {

        public static Brush ToBrush(this Color color)
        {
            return new SolidColorBrush(color.ToWindowsColor());
        }

        public static Windows.UI.Color ToWindowsColor(this Color color)
        {
            return Windows.UI.Color.FromArgb((byte)(color.A * 255), (byte)(color.R * 255), (byte)(color.G * 255), (byte)(color.B * 255));
        }
    }
}

in questo modo verranno modificati tutti gli¬†ActivityIndicator per utilizzare il ProgressRing, se vogliamo avere per√≤ maggior libert√† e decidere se ¬†e quando utilizzarlo ci baster√† fare nel progetto comune una nuova classe che estende¬†ActivityIndicator e modificare il CustomRender facendo riferimento a quest’ultima classe.

In questo modo potremo decidere su utilizzare una o l’altra a seconda delle esigenze, sulle altre piattaforme sar√† visualizzato sempre lo stesso componente mentre su windows verr√† visualizzato un tipo di progressbar o l’altra in base alla classe che utilizzeremo.

Buon coding!!!

 

Slide Xamarin Forms

Ringrazio i cugini di DomusDotNet che mi hanno dato la possibilità di partecipare come speaker al loro evento su Xamarin.

E’ stata una giornata molto interessante in cui oltre a poter condividere ho anche potuto apprendere molte cose interessanti e naturalmente godere come sempre dell’ottimo clima community

Di seguito potete trovare le slide della mia sessione su Xamarin Forms, naturalmente potete contattarmi per qualsiasi dubbio

Buon coding!!!

Xamarin diventa gratuito!!

La notizia era nell’aria da quando Microsoft aveva acquisito Xamarin e molti (me compreso) ci speravano e ieri sera Build √® stato finalmente dato l’annuncio che Xamarin √® diventato gratuito.

Vediamo nel dettaglio cosa cambia.

Adesso Xamarin è diventato parte integrante di Visual Studio e rientra nella sua licenza in tutte le versioni, il che vuol dire che anche se avete diritto ad utilizzare la licenza community (hobbysti, sviluppatori freelance, piccole aziende con meno di 5 sviluppatori e meno di 1 milione di $ di fatturato, progetti open souce, ecc) potete utilizzarla gratuitamente.

Naturalmente chi ha le versioni professional ed enterprise avr√† alcuni vantaggi come l’accesso a contenuti extra di Xamarin Universiti e sconti sul Test Cloud ma diciamo che il cambiamento √® veramente importante e pone lo sviluppo con xamarin ad un livello superiore eliminando la barriera di accesso iniziale che era l’acquisto di una costosa licenza.

Altra novità non da poco è che il Runtime Mono alla base di Xamarin sarà reso Open Source sotto licenza MIT e liberamente scaricabile di GitHub

Per tutti i dettagli potete partire dallo store ufficiale di Xamarin

https://store.xamarin.com/

e dal post di annuncio ufficiale di Microsoft

https://blogs.msdn.microsoft.com/visualstudio/2016/03/31/mobile-app-development-made-easy-with-visual-studio-and-xamarin/

Buon coding!!

Introduzione a xamarin

Ecco il primo di una serie di post sul wiki technet su Xamarin, un mondo nuovo che mi st√† lentamente affascinando e che secondo me non deve mancare nel bagaglio culturale di un programmatore a 360¬į

http://social.technet.microsoft.com/wiki/contents/articles/33618.introduzione-a-xamarin-it-it.aspx

Tips: Eseguire l’aggiornamento manuale del plugin di Xamarin per Visual Studio

Per un bug in Xamarin quando viene trovata una nuova versione del plugin per Visual Studio e ci viene notificata tramite l’icona nella traybar, non sembra esserci modo di far partire l’aggiornamento¬†anche premendo sull’icona o cercando tra¬†gli aggiornamenti tra le estensioni di Visual Studio.

Quello che occorre fare √® andare nelle impostazioni di Visual Studio e ricercare da li la presenza di aggiornamenti e procedere con l’installazione

xamarin_update

Grazie a Marco Minerva per l’aiuto ūüėÄ

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi