Flyout fixes
This commit is contained in:
@@ -12,37 +12,41 @@
|
|||||||
|
|
||||||
<!-- Flyout Header -->
|
<!-- Flyout Header -->
|
||||||
<Shell.FlyoutHeader>
|
<Shell.FlyoutHeader>
|
||||||
<Grid BackgroundColor="{AppThemeBinding Light={StaticResource FlyoutHeaderBackgroundLight}, Dark={StaticResource FlyoutHeaderBackgroundDark}}"
|
<Grid BackgroundColor="{AppThemeBinding Light=#E8E8E8, Dark=#2A2A2A}"
|
||||||
HeightRequest="140"
|
HeightRequest="120">
|
||||||
Padding="15">
|
<VerticalStackLayout VerticalOptions="Center" HorizontalOptions="Fill">
|
||||||
<HorizontalStackLayout VerticalOptions="Center" Spacing="12">
|
<Image Source="logo_only.png"
|
||||||
<Border WidthRequest="60"
|
WidthRequest="80"
|
||||||
HeightRequest="60"
|
HeightRequest="80"
|
||||||
StrokeThickness="0"
|
HorizontalOptions="Center" />
|
||||||
BackgroundColor="{AppThemeBinding Light=White, Dark=#2C2C2C}">
|
|
||||||
<Border.StrokeShape>
|
|
||||||
<RoundRectangle CornerRadius="30" />
|
|
||||||
</Border.StrokeShape>
|
|
||||||
<Label Text="OM"
|
|
||||||
FontSize="24"
|
|
||||||
FontAttributes="Bold"
|
|
||||||
TextColor="{StaticResource PrimaryColor}"
|
|
||||||
HorizontalOptions="Center"
|
|
||||||
VerticalOptions="Center" />
|
|
||||||
</Border>
|
|
||||||
<VerticalStackLayout VerticalOptions="Center">
|
|
||||||
<Label Text="OpenMaui"
|
<Label Text="OpenMaui"
|
||||||
FontSize="22"
|
FontSize="18"
|
||||||
FontAttributes="Bold"
|
FontAttributes="Bold"
|
||||||
TextColor="{AppThemeBinding Light=White, Dark=#E0E0E0}" />
|
HorizontalOptions="Center"
|
||||||
|
HorizontalTextAlignment="Center"
|
||||||
|
TextColor="{AppThemeBinding Light=#212121, Dark=#E0E0E0}" />
|
||||||
<Label Text="Controls Demo"
|
<Label Text="Controls Demo"
|
||||||
FontSize="13"
|
FontSize="11"
|
||||||
TextColor="{AppThemeBinding Light=#E0E0E0, Dark=#B0B0B0}" />
|
HorizontalOptions="Center"
|
||||||
|
HorizontalTextAlignment="Center"
|
||||||
|
TextColor="{AppThemeBinding Light=#757575, Dark=#B0B0B0}" />
|
||||||
</VerticalStackLayout>
|
</VerticalStackLayout>
|
||||||
</HorizontalStackLayout>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Shell.FlyoutHeader>
|
</Shell.FlyoutHeader>
|
||||||
|
|
||||||
|
<!-- Flyout Footer -->
|
||||||
|
<Shell.FlyoutFooter>
|
||||||
|
<Grid BackgroundColor="{AppThemeBinding Light={StaticResource CardBackgroundLight}, Dark={StaticResource CardBackgroundDark}}"
|
||||||
|
HeightRequest="50"
|
||||||
|
Padding="16,0">
|
||||||
|
<Label Text="{Binding AppVersion}"
|
||||||
|
FontSize="12"
|
||||||
|
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
HorizontalOptions="Start" />
|
||||||
|
</Grid>
|
||||||
|
</Shell.FlyoutFooter>
|
||||||
|
|
||||||
<!-- Home -->
|
<!-- Home -->
|
||||||
<FlyoutItem Title="Home" Route="Home"
|
<FlyoutItem Title="Home" Route="Home"
|
||||||
Icon="{AppThemeBinding Light=home_light.svg, Dark=home_dark.svg}">
|
Icon="{AppThemeBinding Light=home_light.svg, Dark=home_dark.svg}">
|
||||||
|
|||||||
@@ -1,13 +1,22 @@
|
|||||||
// AppShell - Shell navigation with flyout menu
|
// AppShell - Shell navigation with flyout menu
|
||||||
|
|
||||||
|
using System.Reflection;
|
||||||
using Microsoft.Maui.Controls;
|
using Microsoft.Maui.Controls;
|
||||||
|
|
||||||
namespace ShellDemo;
|
namespace ShellDemo;
|
||||||
|
|
||||||
public partial class AppShell : Shell
|
public partial class AppShell : Shell
|
||||||
{
|
{
|
||||||
|
public string AppVersion { get; }
|
||||||
|
|
||||||
public AppShell()
|
public AppShell()
|
||||||
{
|
{
|
||||||
|
// Get app version from assembly
|
||||||
|
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
|
AppVersion = $"OpenMaui v{version?.Major ?? 1}.{version?.Minor ?? 0}.{version?.Build ?? 0}";
|
||||||
|
|
||||||
|
BindingContext = this;
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
// Register routes for push navigation (pages not in flyout)
|
// Register routes for push navigation (pages not in flyout)
|
||||||
|
|||||||
@@ -29,38 +29,34 @@
|
|||||||
|
|
||||||
<!-- Info Cards -->
|
<!-- Info Cards -->
|
||||||
<Border Style="{StaticResource ThemedCard}">
|
<Border Style="{StaticResource ThemedCard}">
|
||||||
<HorizontalStackLayout>
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="Platform:" FontAttributes="Bold" WidthRequest="100"
|
<Label Text="Platform:" FontAttributes="Bold" WidthRequest="100"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
<Label Text="Linux (X11/Wayland)"
|
<Label Text="Linux (X11/Wayland)" TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Border Style="{StaticResource ThemedCard}">
|
<Border Style="{StaticResource ThemedCard}">
|
||||||
<HorizontalStackLayout>
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="Rendering:" FontAttributes="Bold" WidthRequest="100"
|
<Label Text="Rendering:" FontAttributes="Bold" WidthRequest="100"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
<Label Text="SkiaSharp"
|
<Label Text="SkiaSharp" TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Border Style="{StaticResource ThemedCard}">
|
<Border Style="{StaticResource ThemedCard}">
|
||||||
<HorizontalStackLayout>
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="Framework:" FontAttributes="Bold" WidthRequest="100"
|
<Label Text="Framework:" FontAttributes="Bold" WidthRequest="100"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
<Label Text=".NET MAUI"
|
<Label Text=".NET MAUI" TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<Border Style="{StaticResource ThemedCard}">
|
<Border Style="{StaticResource ThemedCard}">
|
||||||
<HorizontalStackLayout>
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="License:" FontAttributes="Bold" WidthRequest="100"
|
<Label Text="License:" FontAttributes="Bold" WidthRequest="100"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
<Label Text="MIT License"
|
<Label Text="MIT License" TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
@@ -73,47 +69,49 @@
|
|||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="Full XAML support with styles and resources" FontSize="14"
|
<Label Text="Full XAML support with styles and resources" FontSize="14" TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="Shell navigation with flyout menus" FontSize="14"
|
<Label Text="Shell navigation with flyout menus" FontSize="14" TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="All standard MAUI controls" FontSize="14"
|
<Label Text="All standard MAUI controls" FontSize="14" TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="Data binding and MVVM" FontSize="14"
|
<Label Text="Data binding and MVVM" FontSize="14" TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="Keyboard and mouse input" FontSize="14"
|
<Label Text="Keyboard and mouse input" FontSize="14"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<HorizontalStackLayout Spacing="10">
|
<HorizontalStackLayout Spacing="10">
|
||||||
<Label Text="✓" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
<Label Text="•" TextColor="{StaticResource SuccessColor}" FontSize="16" />
|
||||||
<Label Text="High DPI support" FontSize="14"
|
<Label Text="High DPI support" FontSize="14"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<BoxView Style="{StaticResource ThemedDivider}" />
|
<BoxView Style="{StaticResource ThemedDivider}" />
|
||||||
|
|
||||||
<Label Text="https://github.com/pablotoledo/OpenMaui-Linux"
|
<Label x:Name="WebsiteLink"
|
||||||
|
Text="https://www.openmaui.net"
|
||||||
FontSize="12"
|
FontSize="12"
|
||||||
TextColor="{StaticResource PrimaryColor}"
|
TextColor="{StaticResource PrimaryColor}"
|
||||||
HorizontalOptions="Center" />
|
TextDecorations="Underline"
|
||||||
|
HorizontalOptions="Center">
|
||||||
|
<Label.GestureRecognizers>
|
||||||
|
<TapGestureRecognizer Tapped="OnWebsiteLinkTapped" />
|
||||||
|
</Label.GestureRecognizers>
|
||||||
|
</Label>
|
||||||
|
|
||||||
</VerticalStackLayout>
|
</VerticalStackLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
@@ -10,4 +10,16 @@ public partial class AboutPage : ContentPage
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async void OnWebsiteLinkTapped(object? sender, TappedEventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await Microsoft.Maui.Platform.Linux.Services.Browser.OpenAsync("https://www.openmaui.net", BrowserLaunchMode.SystemPreferred);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"Failed to open URL: {ex.Message}");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
Title="Home"
|
Title="Home"
|
||||||
BackgroundColor="{AppThemeBinding Light={StaticResource PageBackgroundLight}, Dark={StaticResource PageBackgroundDark}}">
|
BackgroundColor="{AppThemeBinding Light={StaticResource PageBackgroundLight}, Dark={StaticResource PageBackgroundDark}}">
|
||||||
|
|
||||||
<ScrollView Orientation="Both">
|
<ScrollView Orientation="Vertical">
|
||||||
<VerticalStackLayout Padding="30" Spacing="20">
|
<VerticalStackLayout Padding="30" Spacing="20">
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
@@ -20,6 +20,21 @@
|
|||||||
HorizontalOptions="Center"
|
HorizontalOptions="Center"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
|
|
||||||
|
<!-- Theme Toggle -->
|
||||||
|
<HorizontalStackLayout HorizontalOptions="Center" Spacing="10">
|
||||||
|
<Label Text="Light"
|
||||||
|
FontSize="14"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextSecondaryDark}}" />
|
||||||
|
<Switch x:Name="ThemeSwitch"
|
||||||
|
Toggled="OnThemeSwitchToggled"
|
||||||
|
OnColor="{StaticResource PrimaryColor}" />
|
||||||
|
<Label Text="Dark"
|
||||||
|
FontSize="14"
|
||||||
|
VerticalOptions="Center"
|
||||||
|
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextPrimaryDark}}" />
|
||||||
|
</HorizontalStackLayout>
|
||||||
|
|
||||||
<BoxView Style="{StaticResource ThemedDivider}" Margin="0,10" />
|
<BoxView Style="{StaticResource ThemedDivider}" Margin="0,10" />
|
||||||
|
|
||||||
<Label Text="Welcome to the comprehensive controls demonstration for OpenMaui Linux. This app showcases all the major UI controls available in the framework."
|
<Label Text="Welcome to the comprehensive controls demonstration for OpenMaui Linux. This app showcases all the major UI controls available in the framework."
|
||||||
|
|||||||
@@ -9,35 +9,62 @@ namespace ShellDemo;
|
|||||||
|
|
||||||
public partial class HomePage : ContentPage
|
public partial class HomePage : ContentPage
|
||||||
{
|
{
|
||||||
|
private bool _isUpdatingThemeSwitch;
|
||||||
|
|
||||||
public HomePage()
|
public HomePage()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
CreateFeatureCards();
|
CreateFeatureCards();
|
||||||
|
UpdateThemeSwitchState();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnAppearing()
|
||||||
|
{
|
||||||
|
base.OnAppearing();
|
||||||
|
UpdateThemeSwitchState();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateThemeSwitchState()
|
||||||
|
{
|
||||||
|
_isUpdatingThemeSwitch = true;
|
||||||
|
var isDark = Application.Current?.UserAppTheme == AppTheme.Dark ||
|
||||||
|
(Application.Current?.UserAppTheme == AppTheme.Unspecified &&
|
||||||
|
Application.Current?.RequestedTheme == AppTheme.Dark);
|
||||||
|
ThemeSwitch.IsToggled = isDark;
|
||||||
|
_isUpdatingThemeSwitch = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnThemeSwitchToggled(object? sender, ToggledEventArgs e)
|
||||||
|
{
|
||||||
|
if (_isUpdatingThemeSwitch || Application.Current == null) return;
|
||||||
|
|
||||||
|
Application.Current.UserAppTheme = e.Value ? AppTheme.Dark : AppTheme.Light;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateFeatureCards()
|
private void CreateFeatureCards()
|
||||||
{
|
{
|
||||||
|
// Title, Description, Route
|
||||||
var features = new[]
|
var features = new[]
|
||||||
{
|
{
|
||||||
("Buttons", "Various button styles and events"),
|
("Buttons", "Various button styles and events", "Buttons"),
|
||||||
("Text Input", "Entry, Editor, SearchBar"),
|
("Text Input", "Entry, Editor, SearchBar", "TextInput"),
|
||||||
("Selection", "CheckBox, Switch, Slider"),
|
("Selection", "CheckBox, Switch, Slider", "Selection"),
|
||||||
("Pickers", "Picker, DatePicker, TimePicker"),
|
("Pickers", "Picker, DatePicker, TimePicker", "Pickers"),
|
||||||
("Lists", "CollectionView with selection"),
|
("Lists", "CollectionView with selection", "Lists"),
|
||||||
("Progress", "ProgressBar, ActivityIndicator")
|
("Progress", "ProgressBar, ActivityIndicator", "Progress")
|
||||||
};
|
};
|
||||||
|
|
||||||
for (int i = 0; i < features.Length; i++)
|
for (int i = 0; i < features.Length; i++)
|
||||||
{
|
{
|
||||||
var (title, desc) = features[i];
|
var (title, desc, route) = features[i];
|
||||||
var card = CreateFeatureCard(title, desc);
|
var card = CreateFeatureCard(title, desc, route);
|
||||||
Grid.SetRow(card, i / 2);
|
Grid.SetRow(card, i / 2);
|
||||||
Grid.SetColumn(card, i % 2);
|
Grid.SetColumn(card, i % 2);
|
||||||
FeatureGrid.Children.Add(card);
|
FeatureGrid.Children.Add(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Border CreateFeatureCard(string title, string description)
|
private Border CreateFeatureCard(string title, string description, string route)
|
||||||
{
|
{
|
||||||
// Use AppThemeBinding for card colors
|
// Use AppThemeBinding for card colors
|
||||||
var cardBackground = new AppThemeBindingExtension
|
var cardBackground = new AppThemeBindingExtension
|
||||||
@@ -100,6 +127,11 @@ public partial class HomePage : ContentPage
|
|||||||
Application.Current?.Resources["CardBackgroundLight"] as Color ?? Colors.White,
|
Application.Current?.Resources["CardBackgroundLight"] as Color ?? Colors.White,
|
||||||
Application.Current?.Resources["CardBackgroundDark"] as Color ?? Color.FromArgb("#1E1E1E"));
|
Application.Current?.Resources["CardBackgroundDark"] as Color ?? Color.FromArgb("#1E1E1E"));
|
||||||
|
|
||||||
|
// Add tap gesture for navigation
|
||||||
|
var tapGesture = new TapGestureRecognizer();
|
||||||
|
tapGesture.Tapped += (s, e) => LinuxViewRenderer.NavigateToRoute(route);
|
||||||
|
border.GestureRecognizers.Add(tapGesture);
|
||||||
|
|
||||||
return border;
|
return border;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
44
ShellDemo/Resources/Images/logo_only.svg
Normal file
44
ShellDemo/Resources/Images/logo_only.svg
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
width="904px" height="904px" viewBox="0 0 904 904" style="enable-background:new 0 0 904 904;" xml:space="preserve">
|
||||||
|
<path style="fill:#1B79C4;" d="M352.47,305.72c2.59,0.01,5.18,0,7.77-0.02c15.57-0.02,30.94,1.71,46.17,5.54
|
||||||
|
c0.94,0.23,1.88,0.46,2.85,0.7c21.6,5.47,42.63,13.46,63.64,21.34c26.31,9.85,54.17,20.02,82.04,20.19c0.7,0.01,1.41,0.01,2.13,0.02
|
||||||
|
c21.87,0.24,21.87,0.24,43.52-2.93c1.15-0.26,1.15-0.26,2.32-0.53c27.81-6.62,56.02-18.76,79.07-38.33
|
||||||
|
c2.47-1.99,2.47-1.99,4.04-1.99c0.15,9.24,0.26,18.48,0.32,27.73c0.03,4.29,0.08,8.58,0.15,12.88c0.07,4.14,0.11,8.29,0.12,12.43
|
||||||
|
c0.01,1.58,0.03,3.16,0.07,4.74c0.25,12.36,0.25,12.36-2.02,16.31c-1.58,1.62-3.07,2.82-4.91,4c-0.75,0.63-1.49,1.27-2.26,1.92
|
||||||
|
c-2.37,1.8-4.75,3.58-7.15,5.34c-0.86,0.63-1.72,1.27-2.61,1.92c-24.4,17.65-51.89,29.41-80.47,33.48
|
||||||
|
c-0.54,0.09-1.08,0.17-1.64,0.26c-7.03,0.98-14.12,0.87-21.19,0.88c-0.7,0-1.4,0-2.12,0c-11.18-0.01-22.02-0.68-33.05-2.95
|
||||||
|
c-0.73-0.14-1.47-0.28-2.22-0.43c-21.91-4.28-43.2-12.21-64.33-20.02c-68.48-25.32-136.76-38.11-203.72,1.23
|
||||||
|
c-8.4,5.1-16.65,10.72-24.29,17.22c-2.49,2-2.49,2-4.05,2c-0.24-9.43-0.42-18.86-0.53-28.29c-0.05-4.38-0.13-8.76-0.24-13.14
|
||||||
|
c-0.11-4.23-0.17-8.46-0.2-12.7c-0.02-1.61-0.06-3.22-0.11-4.83c-0.4-12.22-0.4-12.22,2.05-16.13c2.73-3.18,5.86-5.34,9.22-7.53
|
||||||
|
c1.55-1.17,3.1-2.34,4.65-3.51c1.55-1.09,3.1-2.17,4.66-3.24c0.84-0.58,1.68-1.16,2.55-1.75c20.5-13.88,42.33-23.81,65.73-28.72
|
||||||
|
c0.57-0.12,1.13-0.24,1.72-0.36C330.94,306.24,341.52,305.65,352.47,305.72z"/>
|
||||||
|
<path style="fill:#1D5DB3;" d="M462.25,230.05c36.11,13.71,36.11,13.71,73.29,22.46c0.56,0.1,1.12,0.19,1.7,0.29
|
||||||
|
c48.86,8.29,104.44-2.97,144.83-37.25c1.6-1.17,1.6-1.17,3.95-1.17c0.2,8.99,0.35,17.98,0.45,26.97c0.04,4.18,0.1,8.35,0.2,12.52
|
||||||
|
c0.09,4.03,0.15,8.06,0.17,12.1c0.01,1.54,0.05,3.07,0.09,4.6c0.35,12.01,0.35,12.01-2.78,16.23c-2.19,1.87-4.33,3.33-6.76,4.75
|
||||||
|
c-1.08,0.8-2.14,1.61-3.2,2.44c-0.97,0.71-1.95,1.4-2.92,2.1c-0.54,0.38-1.07,0.76-1.62,1.16c-1.09,0.77-2.17,1.54-3.26,2.31
|
||||||
|
c-1.39,0.97-2.76,1.96-4.14,2.95c-20.16,13.99-43.31,22.55-66.36,27.18c-0.56,0.11-1.11,0.23-1.69,0.34
|
||||||
|
c-6.97,1.38-13.98,2.08-21.04,2.38c-0.91,0.04-0.91,0.04-1.83,0.08c-37.4,1.35-72.7-11.12-107.89-24.14
|
||||||
|
c-69.35-25.65-137.32-37.43-204.66,2.34c-8.73,5.24-16.85,10.97-24.57,18.06c-1.19,0.94-1.19,0.94-2.76,0.94
|
||||||
|
c-0.22-8.72-0.39-17.44-0.49-26.16c-0.05-4.05-0.12-8.1-0.22-12.15c-0.1-3.92-0.16-7.83-0.18-11.74c-0.02-1.49-0.05-2.97-0.1-4.46
|
||||||
|
c-0.37-11.31-0.37-11.31,1.91-15.08c2.5-3.08,5.41-5.32,8.49-7.57c1.18-1.01,2.35-2.02,3.51-3.05
|
||||||
|
C312.28,194.21,387.12,201.79,462.25,230.05z"/>
|
||||||
|
<path style="fill:#0F839E;" d="M452.04,425.6c4.85,1.82,9.72,3.61,14.58,5.4c1.43,0.52,1.43,0.52,2.88,1.06
|
||||||
|
c23.64,8.69,47.6,16.84,72.3,20.19c0.93,0.13,0.93,0.13,1.88,0.26c6.69,0.82,13.39,0.83,20.11,0.82c0.61,0,1.22,0,1.85,0
|
||||||
|
c8.87-0.02,17.54-0.33,26.32-1.99c1.01-0.16,2.02-0.33,3.05-0.5c30.94-5.41,63.41-19.49,88.12-42.05c1.31-1.03,1.31-1.03,2.88-1.03
|
||||||
|
c0.22,9.21,0.39,18.42,0.49,27.63c0.05,4.28,0.11,8.55,0.22,12.83c0.1,4.13,0.16,8.26,0.18,12.4c0.02,1.57,0.05,3.15,0.1,4.72
|
||||||
|
c0.38,12.28,0.38,12.28-3.01,16.87c-2.39,2.1-4.75,3.8-7.39,5.45c-1.37,1.03-2.73,2.07-4.08,3.12c-1.31,0.95-2.63,1.9-3.96,2.83
|
||||||
|
c-0.71,0.5-1.42,1.01-2.15,1.53c-6.11,4.29-12.31,8.14-18.81,11.58c-0.6,0.32-1.2,0.65-1.82,0.98
|
||||||
|
c-36.64,19.49-78.25,26.49-118.1,18.09c-0.81-0.16-1.63-0.32-2.46-0.49c-23.79-4.8-46.79-13.74-69.75-22.22
|
||||||
|
c-29.8-11-61.27-21.77-92.8-21.96c-1.03-0.01-1.03-0.01-2.08-0.02c-2.2-0.02-4.41-0.02-6.61-0.02c-1.13,0-1.13,0-2.29,0
|
||||||
|
c-11.52,0.01-22.71,0.52-34.06,2.95c-1.12,0.23-1.12,0.23-2.26,0.46c-19.2,3.95-37.33,10.82-54.96,20.42
|
||||||
|
c-0.88,0.47-0.88,0.47-1.77,0.95c-9.51,5.14-18.5,11.37-27.23,18.11c-1.5-1.74-0.92-4.89-0.93-7.19c-0.01-0.66-0.01-1.31-0.02-1.99
|
||||||
|
c-0.02-2.18-0.03-4.37-0.04-6.55c0-0.75-0.01-1.49-0.01-2.26c-0.02-3.94-0.04-7.89-0.05-11.83c-0.01-4.07-0.05-8.15-0.09-12.22
|
||||||
|
c-0.03-3.13-0.04-6.26-0.04-9.39c-0.01-1.5-0.02-3-0.04-4.5c-0.03-2.1-0.03-4.21-0.02-6.31c-0.01-1.2-0.01-2.4-0.02-3.63
|
||||||
|
c0.6-3.91,1.8-5.17,4.39-7.67c0.56-0.54,1.12-1.09,1.69-1.65C300.38,393.44,379.63,398.41,452.04,425.6z"/>
|
||||||
|
<path style="fill:#0F839E;" d="M230.65,512.16c0.26,0,0.52,0,0.78,0c0,3.36,0,6.72,0,10.19c0.78,0.26,1.55,0.52,2.35,0.78
|
||||||
|
c-0.78,0.52-1.55,1.04-2.35,1.57c-0.78-0.78-0.78-0.78-0.86-3.43c0-1.09,0.01-2.19,0.03-3.28c0-0.56,0.01-1.11,0.01-1.69
|
||||||
|
C230.62,514.92,230.63,513.54,230.65,512.16z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.6 KiB |
10
ShellDemo/Resources/Images/openmaui_logo.svg
Normal file
10
ShellDemo/Resources/Images/openmaui_logo.svg
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||||
|
<stop offset="0%" style="stop-color:#2196F3"/>
|
||||||
|
<stop offset="100%" style="stop-color:#1976D2"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<circle cx="50" cy="50" r="45" fill="url(#gradient)"/>
|
||||||
|
<text x="50" y="62" font-family="Arial, sans-serif" font-size="32" font-weight="bold" fill="white" text-anchor="middle">OM</text>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 479 B |
@@ -41,6 +41,7 @@
|
|||||||
<!-- Embedded Resources (icons) -->
|
<!-- Embedded Resources (icons) -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<EmbeddedResource Include="Resources\Images\*.svg" />
|
<EmbeddedResource Include="Resources\Images\*.svg" />
|
||||||
|
<EmbeddedResource Include="Resources\Images\*.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
<Label x:Name="StatusLabel"
|
<Label x:Name="StatusLabel"
|
||||||
Text="In Progress"
|
Text="In Progress"
|
||||||
FontSize="16"
|
FontSize="16"
|
||||||
|
LineBreakMode="NoWrap"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
|
||||||
VerticalOptions="Center" />
|
VerticalOptions="Center" />
|
||||||
</HorizontalStackLayout>
|
</HorizontalStackLayout>
|
||||||
@@ -92,6 +93,7 @@
|
|||||||
<Label Grid.Row="4"
|
<Label Grid.Row="4"
|
||||||
x:Name="CreatedLabel"
|
x:Name="CreatedLabel"
|
||||||
FontSize="13"
|
FontSize="13"
|
||||||
|
LineBreakMode="NoWrap"
|
||||||
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
||||||
HorizontalOptions="Center"
|
HorizontalOptions="Center"
|
||||||
HorizontalTextAlignment="Center" />
|
HorizontalTextAlignment="Center" />
|
||||||
|
|||||||
Reference in New Issue
Block a user