• Stars
    star
    113
  • Rank 310,115 (Top 7 %)
  • Language
    C#
  • License
    Apache License 2.0
  • Created about 11 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A slideout navigation control for Xamarin.iOS

Xamarin-Sidebar

A slideout navigation control for Xamarin iOS applications.

license Build status NuGet GitHub tag MyGet

Get the package on Nuget!

If you're using Sidebar Navigation send me a link to your app and I'll happily post it here.

Menu Open

This is partly based on two other good slideout menu implementation that each didn't provide quite what I was looking for. Those two are FlyoutNavigation and SlideoutNavigation.

Xamarin-Sidebar allows you to provide one UIViewController to be used as a content view and another to be used as a menu. When you open the menu the content view will slide over to reveal the provided menu UIViewController.

To set it up just create a root UIViewController and a SidebarController, passing in your content and menu controllers.

RootViewController.cs

using SidebarNavigation;
...
public partial class RootViewController : UIViewController
{
	// the sidebar controller for the app
	public SidebarController SidebarController { get; private set; }

	public override void ViewDidLoad()
	{
		base.ViewDidLoad();

		// create a slideout navigation controller with the top navigation controller and the menu view controller
		SidebarController = new SidebarController(this, new ContentController(), new SideMenuController());
	}
}
...

AppDelegate.cs

...
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
	window = new UIWindow(UIScreen.MainScreen.Bounds);
	
	// set our root view controller with the sidebar menu as the apps root view controller
	window.RootViewController = new RootViewController();
	
	window.MakeKeyAndVisible();
	return true;
}
...

In the content controller you can add a button to open the slideout menu.

menuButton.TouchUpInside += (sender, e) => {
	SidebarController.ToggleMenu();
};

In the side menu controller you can add buttons to change the content view.

otherContentButton.TouchUpInside += (sender, e) => {
	SidebarController.ChangeContentView(new OtherContentController());
};

Additional options include hiding the shadow, setting the menu width, and placing the menu on the left.

SidebarController.HasShadowing = false;
SidebarController.MenuWidth = 220;
SidebarController.MenuLocation = SidebarController.MenuLocations.Left;

See the sample projects included in the source for more details.

More Repositories

1

PhotoView

Implementation of ImageView for Android that supports zooming, by various touch gestures.
Java
18,771
star
2

flutter_cached_network_image

Download, cache and show images in a flutter app
Dart
2,426
star
3

flutter-permission-handler

Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
Dart
2,020
star
4

flutter-geolocator

Android and iOS Geolocation plugin for Flutter
Dart
1,239
star
5

LottieXamarin

Render After Effects animations natively on Android, iOS, MacOS and TvOS for Xamarin
C#
1,218
star
6

XamarinMediaManager

Cross platform Xamarin plugin to play and control Audio and Video
C#
766
star
7

flutter_cache_manager

Generic cache manager for flutter
Dart
749
star
8

XF-Material-Library

A Xamarin Forms library for implementing Material Design
C#
647
star
9

octo_image

A multifunctional Flutter image widget
Dart
156
star
10

ExoPlayerXamarin

Xamarin bindings library for the Google ExoPlayer library
C#
153
star
11

Chameleon

Chameleon is a flexible media player build with Xamarin.Forms
C#
152
star
12

flutter-geocoding

A Geocoding plugin for Flutter
Dart
135
star
13

screenrecorder

Flutter package which can be used to record flutter widgets
Dart
64
star
14

FoldingCell

FoldingCell is an expanding content cell inspired by folding paper material
C#
55
star
15

flutter-permission-plugins

This repo contains a collection of permission related Flutter plugins which can be used to request permissions to access device resources in a cross-platform way.
Dart
52
star
16

MvxForms

Sample App with Xamarin.Forms and MvvmCross
C#
47
star
17

HugoStructuredData

Collection of structured data snippets in Google preferred JSON-LD format, with support for Hugo
HTML
42
star
18

flutter-contacts-plugin

Contact plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to read, create and update contacts from the address book.
Dart
40
star
19

NavigationTabBarXamarin

Navigation tab bar with colorful interactions for Xamarin Android
C#
39
star
20

InfiniteCycleViewPagerXamarin

Infinite cycle ViewPager with two-way orientation and interactive effect.
C#
36
star
21

XamarinItemTouchHelper

Basic example of using ItemTouchHelper to add drag & drop and swipe-to-dismiss to RecyclerView for Xamarin
C#
36
star
22

VlcXamarin

Xamarin.Android bindings for VLC player
C#
34
star
23

flutter-google-api-availability

Check the availability of Google Play services on the current device
Dart
34
star
24

NavigationTabStripXamarin

Navigation tab strip with smooth interaction
C#
24
star
25

FantasySlideXamarin

Another sliding menu base on DrawerLayout
C#
20
star
26

DiagonalLayoutXamarin

With Diagonal Layout explore new styles and approaches on material design
C#
19
star
27

LoaderViewXamarin

Library that enables TextView of ImageView to show loading animation while waiting for the text and image get loaded
C#
17
star
28

flutter-video-bloc

Dart
16
star
29

flutter_wizard

A library that makes it easy for you to create your own custom wizard.
Dart
16
star
30

FloatingNavigationView

A simple Floating Action Button that shows an anchored Navigation View
C#
16
star
31

flutter-essentials

Essential cross platform APIs for your Flutter apps
Dart
16
star
32

MaterialDesignHelpers

Default colors and dimens per Material Design guidelines and Android Design guidelines inside one library.
C#
13
star
33

GuardedActions

A library to increase the error handling, testability and reusability for all your MVVM driven apps!
C#
13
star
34

HoverXamarin

A floating menu library for Xamarin Android.
C#
12
star
35

FlipShareXamarin

It's a flip way to show share widget.
C#
11
star
36

AndroidSlidingUpPanelXamarin

This library provides a simple way to add a draggable sliding up panel to your Android app
C#
11
star
37

byteplot

A Dart command-line tool for Flutter to make your life easier
Dart
10
star
38

FFmpegMediaMetadataRetrieverXamarin

FFmpegMediaMetadataRetriever provides a unified interface for retrieving frame and meta data from an input media file.
C#
10
star
39

full-stack-on-rust

Source code and documentation for our 'full stack on rust' meetup on 29-9-2022
Rust
8
star
40

InteractiveMediaAdsXamarin

IMA Android SDK v3 for Xamarin
C#
8
star
41

AutoLinkTextViewXamarin

AutoLinkTextView is TextView that supports Hashtags (#), Mentions (@) , URLs (http://), Phone and Email automatically detecting and ability to handle clicks.
C#
8
star
42

GoogleVRXamarin

Xamarin bindings library for the Google VR library
C#
8
star
43

cheat-sheets

This repo contains a set of cheat sheets often used by the Baseflow crew.
8
star
44

flutter-blues

Flutter plugin to provide easy access to platform specific Bluetooth low energy services
Dart
7
star
45

flutter_swipe_detector

A Flutter package to detect your swipe directions and provides you with callbacks to handle them.
Dart
7
star
46

flutter_uwb

A Flutter plugin for working with Ultra Wide Band sensors.
Dart
7
star
47

stellar-rust-sdk

Welcome to the Rust Stellar SDK repository! This project aims to empower developers with a robust Rust SDK for the Stellar cryptocurrency network. Leverage Rust's performance and security advantages to build efficient and scalable applications on Stellar. Join us in shaping the future of blockchain development with Stellar and Rust integration.
Rust
7
star
48

WaveSideBarXamarin

An Index Side Bar With Wave Effect
C#
6
star
49

baseflow_plugin_template

Template for the Baseflow flutter plugins
Dart
5
star
50

VerticalViewPagerXamarin

Vertically ViewPager and vertically transformer for Xamarin Android
C#
5
star
51

flutter_state_management_demo

A demonstration app showcasing the Baseflow way of State Management in Flutter
Dart
4
star
52

AutoscaleEditTextXamarin

AutoscaleEditText bindings for Xamarin Android
C#
4
star
53

flutter-style-guide

A Flutter style-guide example app
Dart
3
star
54

DSTV.Net

A basic Tekla DSTV NC file parser written in C#
C#
3
star
55

flutter-meetup

Sheets and samples for our flutter meetups
Dart
3
star
56

konami_detector

A package to detect your konami codes and executes the provided callbacks.
Dart
3
star
57

terraform-demo

Code and descriptions for the demo on the 14th July 2023
HCL
2
star
58

service_manager

A Flutter plugin to manage the state of platform specific services (e.g. location services).
Dart
2
star
59

flutter_ioc

A standard interface providing inversion of control services to Dart or Flutter applications.
Dart
2
star
60

EllipsizeTextViewXamarin

The EllipsizeTextView extends TextView, support omit (Ellipsize/Ellipsis) redundant characters in multiple lines situtation.
C#
2
star
61

GuardedActions.Samples

Contains sample project on how to implement the GuardedActions package.
C#
1
star