private static void AddMessageView(DateTime Timestamp, DataType Type, Byte[] Data, bool IsMyMessage) { Xamarin.Forms.Device.BeginInvokeOnMainThread(delegate { var MessageLocalTime = Timestamp.ToLocalTime(); var PaddingLeft = 5; var PaddingRight = 5; Xamarin.Forms.Color Background; if (IsMyMessage) { PaddingLeft = 20; Background = Settings.Graphics.BackgroundMyMessage; } else { Background = Settings.Graphics.BackgroundMessage; PaddingRight = 20; } var Frame = new Xamarin.Forms.Frame() { CornerRadius = 10, BackgroundColor = Background, Padding = 0 }; var Box = new Xamarin.Forms.StackLayout() { Padding = new Xamarin.Forms.Thickness(PaddingLeft, 5, PaddingRight, 5) }; Frame.Content = Box; Container.Children.Insert(0, Frame); var TimeLabel = new Xamarin.Forms.Label(); TimeSpan Difference = DateTime.Now - MessageLocalTime; if (Difference.TotalDays < 1) { TimeLabel.Text = MessageLocalTime.ToLongTimeString(); } else { TimeLabel.Text = MessageLocalTime.ToLongDateString() + " - " + MessageLocalTime.ToLongTimeString(); } TimeLabel.FontSize = 8; Box.Children.Add(TimeLabel); switch (Type) { case DataType.Text: var Label = new Xamarin.Forms.Label(); Label.Text = Encoding.Unicode.GetString(Data); Box.Children.Add(Label); break; case DataType.Image: break; case DataType.Audio: break; default: break; } }); }
private static void AddMessageView(DataType Type, Byte[] Data, bool IsMyMessage) { var Container = cryptogram.Views.ItemDetailPage.Messages; var PaddingLeft = 5; var PaddingRight = 5; Xamarin.Forms.Color Background; if (IsMyMessage) { PaddingLeft = 20; Background = Settings.Graphics.BackgroundMyMessage; } else { Background = Settings.Graphics.BackgroundMessage; PaddingRight = 20; } var Frame = new Xamarin.Forms.Frame() { CornerRadius = 10, BackgroundColor = Background, Padding = 0 }; var Box = new Xamarin.Forms.StackLayout() { Padding = new Xamarin.Forms.Thickness(PaddingLeft, 5, PaddingRight, 5) }; Frame.Content = Box; Container.Children.Insert(0, Frame); switch (Type) { case DataType.Text: var Label = new Xamarin.Forms.Label(); Label.Text = Encoding.Unicode.GetString(Data); Box.Children.Add(Label); break; case DataType.Image: break; case DataType.Audio: break; default: break; } }