All Projects → prolificinteractive → navigation-conductor

prolificinteractive / navigation-conductor

Licence: other
A Conductor integration for the Navigation Architecture Component.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to navigation-conductor

trueChart-Menubar4Sense
MENUBAR as visualization extension for Qlik Sense® allows for vertical and horizontal buttons and selections (fields, master dimensions and variables) as well as unlimited trigger based Actions. #trueChart #menubar #highcoordination
Stars: ✭ 19 (-50%)
Mutual labels:  navigation
neonavigation
A 2-D/3-DOF seamless global/local mobile robot motion planner package for ROS
Stars: ✭ 199 (+423.68%)
Mutual labels:  navigation
react-native-template
A template for react native applications with built-in navigation.
Stars: ✭ 37 (-2.63%)
Mutual labels:  navigation
Codist
A visual studio extension which enhances syntax highlighting, quick info (tooltip), navigation bar, scrollbar, display quality and brings smart tool bar to code editor.
Stars: ✭ 134 (+252.63%)
Mutual labels:  navigation
SettingsAppInSwiftUI
I have recreated a Settings App in iPhoneXR using SwiftUI concepts such as Form,Section,Toggle,Picker,Stack..etc
Stars: ✭ 37 (-2.63%)
Mutual labels:  navigation
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (-13.16%)
Mutual labels:  navigation
Object-Goal-Navigation
Pytorch code for NeurIPS-20 Paper "Object Goal Navigation using Goal-Oriented Semantic Exploration"
Stars: ✭ 107 (+181.58%)
Mutual labels:  navigation
go router
The purpose of the go_router for Flutter is to use declarative routes to reduce complexity, regardless of the platform you're targeting (mobile, web, desktop), handling deep linking from Android, iOS and the web while still allowing an easy-to-use developer experience.
Stars: ✭ 380 (+900%)
Mutual labels:  navigation
codemill.vmfirstnav
Xamarin.Forms ViewModel First Navigation Library
Stars: ✭ 22 (-42.11%)
Mutual labels:  navigation
navigation-skeleton
This component allows you to show skeletons of pages during navigation process.
Stars: ✭ 16 (-57.89%)
Mutual labels:  navigation
kaptain
👨‍✈️ multi-module navigation on Android has never been so easier!
Stars: ✭ 24 (-36.84%)
Mutual labels:  navigation
ml-stack-nav
Customizable, responsive, accessible, easy-to-use multi-level stack navigation menu with slide effect.
Stars: ✭ 20 (-47.37%)
Mutual labels:  navigation
styled-off-canvas
A simple off canvas menu built with styled-components 💅
Stars: ✭ 61 (+60.53%)
Mutual labels:  navigation
accessible-nav-wp
An accessible menu for WordPress theme development
Stars: ✭ 26 (-31.58%)
Mutual labels:  navigation
RustRobotics
Rust implementation of PythonRobotics such as EKF, DWA, Pure Pursuit, LQR.
Stars: ✭ 40 (+5.26%)
Mutual labels:  navigation
drawer-with-bottom-navigation-architecture
Sample android kotlin project with both drawer and bottom navigation together
Stars: ✭ 42 (+10.53%)
Mutual labels:  navigation
Helm
A graph-based SwiftUI router
Stars: ✭ 64 (+68.42%)
Mutual labels:  navigation
docsify-pagination
↔️ Pagination for docsify
Stars: ✭ 80 (+110.53%)
Mutual labels:  navigation
fdplugin-quicknavigate
Quick Navigate Plugin for FlashDevelop/HaxeDevelop
Stars: ✭ 30 (-21.05%)
Mutual labels:  navigation
NavKit
Simple and integrated way to customize navigation bar experience on iOS app.
Stars: ✭ 37 (-2.63%)
Mutual labels:  navigation

Navigation Component for Conductor

The Android Architecture Navigation Component’s documentation has a section that suggests it is possible to add “new destination types” outside of Activities and Fragments.

Add support for new destination types

NavControllers rely on one or more Navigator objects to perform the navigation operation. To be able to navigate to any other type of destination, one or more additional Navigator objects must be added to the NavController. For example, when using fragments as destinations, the NavHostFragment automatically adds the FragmentNavigator class to its NavController.

The same was suggested on episode 92 of the Android Developers Backstage podcast and at Google IO 2018. There is no shortage of libraries or frameworks utilizing Views as the basis for navigation. Assuming the implementation of the Navigation Architecture Component is generic enough, could it be possible to integrate one of these View-based frameworks with Navigation Component? So far, one has stood above the rest (if Github stars are any indication of success), Conductor.

This library is an attempt to implement a Conductor integration for the Navigation Architecture Component. More details about the implementation are in Navigating Conductor and the Navigation Architecture Component. If this is your first introduction to the Navigation Architecture Component, I would recommend reading the excellent A problem like Navigation series by Maria Neumayer or Android Navigation Components by Dario Mungoi

Usage

res/layout/activity.xml

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  
    <com.prolificinteractive.conductor.archnavigation.NavHostLayout
        android:id="@+id/controller_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:navGraph="@navigation/graph"/>

</FrameLayout>
res/navigation/graph.xml

<navigation 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    app:startDestination="@+id/firstController">

    <controller
        android:id="@+id/firstController"
        android:name="com.prolificinteractive.conductornav.DemoController"
        android:label="DemoController"
        tools:layout="@layout/controller_navigation_demo">
        <argument
            android:name="index"
            android:defaultValue="0"
            app:type="integer" />
        <argument
            android:name="displayUpMode"
            android:defaultValue="0"
            app:type="integer" />
    </controller>
</navigation>

Installation

Step 1. Add the JitPack repository to your build file

allprojects {
  repositories {
    ...
    maven { url 'https://jitpack.io' }
  }
}

Step 2. Add the dependency

dependencies {
    implementation 'com.github.prolificinteractive.navigation:navigation-conductor:0.1.0'
}

Contributing to navigation-conductor

To report a bug or enhancement request, feel free to file an issue under the respective heading.

If you wish to contribute to the project, fork this repo and submit a pull request. Code contributions should follow the standards specified in the Prolific Android Style Guide.

License

prolific

geocoder is Copyright (c) 2018 Prolific Interactive. It may be redistributed under the terms specified in the LICENSE file.

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].