All Projects → egbakou → Timeline

egbakou / Timeline

Awesome UI: Timeline with images in Xamarin.Forms.

Projects that are alternatives of or similar to Timeline

React Native Timeline Flatlist
FlatList based timeline component for React Native for iOS and Android
Stars: ✭ 163 (+462.07%)
Mutual labels:  cross-platform, timeline
Mvvmlight
The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.
Stars: ✭ 973 (+3255.17%)
Mutual labels:  cross-platform, xamarin-forms
Essential Ui Kit For Xamarin.forms
Free and beautiful XAML template pages for Xamarin.Forms apps.
Stars: ✭ 780 (+2589.66%)
Mutual labels:  cross-platform, xamarin-forms
Reactivemvvm
Cross-platform ReactiveUI sample app built for a talk at MSK .NET conf.
Stars: ✭ 94 (+224.14%)
Mutual labels:  cross-platform, xamarin-forms
Open Source Xamarin Apps
📱 Collaborative List of Open Source Xamarin Apps
Stars: ✭ 318 (+996.55%)
Mutual labels:  cross-platform, xamarin-forms
Xamarin.forms
Xamarin.Forms Official Home
Stars: ✭ 5,485 (+18813.79%)
Mutual labels:  cross-platform, xamarin-forms
Brainpowerapp
A visual memory training game, a mobile game made with Xamarin for both Android and IOS .
Stars: ✭ 17 (-41.38%)
Mutual labels:  cross-platform, xamarin-forms
Csla
A home for your business logic in any .NET application.
Stars: ✭ 865 (+2882.76%)
Mutual labels:  xamarin-forms
Youtube Dl Gui
A cross platform front-end GUI of the popular youtube-dl written in wxPython.
Stars: ✭ 7,914 (+27189.66%)
Mutual labels:  cross-platform
Pgweb
Cross-platform client for PostgreSQL databases
Stars: ✭ 7,114 (+24431.03%)
Mutual labels:  cross-platform
Acid
A high speed C++17 Vulkan game engine
Stars: ✭ 838 (+2789.66%)
Mutual labels:  cross-platform
Tty Which
Cross-platform implementation of Unix `which` command
Stars: ✭ 11 (-62.07%)
Mutual labels:  cross-platform
Formswpflive
Live XAML development for Xamarin Forms Apps using WPF Backend.
Stars: ✭ 14 (-51.72%)
Mutual labels:  xamarin-forms
React Native Audio Toolkit
Cross-platform audio library for React Native
Stars: ✭ 861 (+2868.97%)
Mutual labels:  cross-platform
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+132941.38%)
Mutual labels:  cross-platform
System.io.abstractions
Just like System.Web.Abstractions, but for System.IO. Yay for testable IO access!
Stars: ✭ 844 (+2810.34%)
Mutual labels:  cross-platform
Dotfeather
A closs-platform generic gameengine built on C#/.NET Standard 2.1
Stars: ✭ 28 (-3.45%)
Mutual labels:  cross-platform
Uisleuth
A Xamarin.Forms Inspector
Stars: ✭ 21 (-27.59%)
Mutual labels:  xamarin-forms
Prism.plugin.pagedialogs
Note this project is no longer needed as the new Dialog Service in Prism 7.2 accomplishes everything this aimed to solve.
Stars: ✭ 13 (-55.17%)
Mutual labels:  xamarin-forms
Yarpm
CLI tool to run npm scripts with either npm or yarn, depending on how it was started
Stars: ✭ 13 (-55.17%)
Mutual labels:  cross-platform

Awesome Timeline in Xamarin.Forms

Lioncoding article Link

Awesome Timeline in Xamarin.Forms

Create your project(I'm using VS2019)

Add the following NuGet packages to your solution

Initialization

Android project
  • MainActivity.cs
protected override void OnCreate(Bundle savedInstanceState)
{
	TabLayoutResource = Resource.Layout.Tabbar;
	ToolbarResource = Resource.Layout.Toolbar;

	base.OnCreate(savedInstanceState);
    // Init FFImageLoading plugin
	CachedImageRenderer.Init(false);
	global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
	LoadApplication(new App());
}
IOSproject
  • AppDelegate.cs
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
	// Init FFImageLoading plugin
	FFImageLoading.Forms.Platform.CachedImageRenderer.Init();
    
	global::Xamarin.Forms.Forms.Init();
	LoadApplication(new App());
	return base.FinishedLaunching(app, options);
}

UI

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    x:Class="Timeline.Views.TimelineView"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:template="clr-namespace:Timeline.Views.Templates"
    xmlns:viewModel="clr-namespace:Timeline.ViewModels"
    Title="{Binding Title}"
    BackgroundImage="bg.jpg">

    <ContentPage.BindingContext>
        <viewModel:TimelineViewModel />
    </ContentPage.BindingContext>

    <ContentPage.Content>
        <StackLayout>
            <ListView
                CachingStrategy="RecycleElement"
                HasUnevenRows="False"
                ItemsSource="{Binding TimelineEvents}"
                RowHeight="107"
                SelectionMode="None"
                SeparatorColor="Gray"
                SeparatorVisibility="None">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <template:TimelineWithImage />
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

ViewCell Template

<?xml version="1.0" encoding="UTF-8" ?>
<ContentView
    x:Class="Timeline.Views.Templates.TimelineWithImage"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:ff="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
    xmlns:ffTransformations="clr-namespace:FFImageLoading.Transformations;assembly=FFImageLoading.Transformations">

    <StackLayout
        Margin="20,0,0,0"
        Orientation="Horizontal"
        VerticalOptions="Center">

        <!--  VERTICAL LINE WITH IMAGE  -->
        <StackLayout
            x:Name="firstStackLayout"
            Margin="0,0,0,-6"
            HorizontalOptions="Center"
            Orientation="Vertical"
            VerticalOptions="Center">
            <!--  FIRST CENTER VERTICAL LINE  -->
            <BoxView
                Grid.Row="0"
                Grid.Column="0"
                Margin="0,0,0,-6"
                HeightRequest="30"
                HorizontalOptions="Center"
                WidthRequest="3"
                Color="Accent" />
            <!--  IMAGE  -->
            <ff:CachedImage
                Grid.Row="1"
                Grid.Column="0"
                Margin="0,0,0,0"
                HeightRequest="55"
                Source="{Binding AuthorImage}"
                WidthRequest="55">
                <ff:CachedImage.Transformations>
                    <ffTransformations:RoundedTransformation
                        BorderHexColor="#FF4081"
                        BorderSize="20"
                        Radius="240" />
                </ff:CachedImage.Transformations>
            </ff:CachedImage>
            <!--  LAST CENTER VERTICAL LINE  -->
            <BoxView
                Grid.Row="2"
                Grid.Column="0"
                Margin="0,-6,0,0"
                HeightRequest="30"
                HorizontalOptions="Center"
                WidthRequest="3"
                Color="Accent" />
        </StackLayout>

        <!--  MESSAGE  -->
        <StackLayout
            Margin="5,0,0,0"
            HorizontalOptions="FillAndExpand"
            Orientation="Horizontal"
            VerticalOptions="Center">
            <StackLayout
                Margin="0,0,5,0"
                HorizontalOptions="Start"
                Orientation="Vertical"
                VerticalOptions="Center">
                <Label
                    FontAttributes="Bold"
                    FontSize="15"
                    HorizontalOptions="Start"
                    Text="{Binding Title}"
                    TextColor="Accent"
                    XAlign="Start" />
                <StackLayout
                    Margin="0,0,5,0"
                    Orientation="Horizontal"
                    VerticalOptions="EndAndExpand">
                    <Label
                        FontSize="14"
                        Text="{Binding Detail}"
                        TextColor="#4e5156" />
                </StackLayout>
                <StackLayout Orientation="Horizontal" VerticalOptions="EndAndExpand">
                    <Label
                        FontAttributes="Bold"
                        FontSize="12"
                        Text="{Binding DateToString}"
                        TextColor="#3b0999" />
                </StackLayout>
            </StackLayout>
        </StackLayout>
    </StackLayout>
</ContentView>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].