Giter Site home page Giter Site logo

androidmenusdesign's Introduction

Android Menus Design

For this app, you'll design an app and then implement the navigation drawer and action bar menu for that app.

Requirements

This project will be all about polish. I know you know how to replace fragments, change activities or whatever else you'd want to do with a menu item. So I want you to instead spend time making these menus look awesome. Look as some of your favorite apps and see how they utilize these menus and then design your own app to use them. The following pieces are required, I recommend you build them in order.

App Design

You'll need to write up a simple design for your app with structure example:

High Level Description:
The Light Controller app will allow users to create custom light settings and store them persistently. It will also allow them to select from a list of previously used settings. Finally the user will be able to configure multiple light controllers and select between them in the settings selection page.

Individual Activities:

  • Light Selecting (which also allows users to select the controller)
    • Select from a list of previous light configurations
    • Shows number of times each configuration has been used
  • Light Configuration
    • Create or Edit light configurations
  • Controller Configutation
    • Create or Edit controller configurations

Navigation Drawer:
Main Menu: Allow user to select which activity or fragment to view.
Secondary Menu: Allow user to toggle night mode for the app
Header: Show the user the name of the controller which is selected, show them the name of the active pattern, and have the background color be the base color of the configuration.

Action Bar Menu:

  • As action, turn off lights
  • As Action, add new light configuration or controller depending on active fragment
  • Toggle display count visibility
  • Allow user to select sort mode on light configurations on page

This writeup will be included at the bottom of this README file. As your next project week will be implementing a project of your design. This can be a starting point for it.

Menu Implementation

Once you have your app design writeup put together, we'll have you implement a menu system which will simulate the implementation of this flow. When each item is selected, show a Toast telling use what would happen.

Toasts can be made with the following code Toast.makeText(context, "My message", Toast.LENGTH_SHORT).show();

If an item is selected that would replace the current UI fragment or activity, indicate this in the text view that is included in your empty activity layout

Go Further

There are a few additional features which you can include in order to improve your app

  • Polish, polish, polish. Take this time to make your menus and app look awesome. Once the menus are done, build a custom theme and app icons for it as well.
  • Start implementing some of the features from your design. First step, instead of just changing the text, build multiple stock fragments and swap them out with the menu selection. Once that is done, you can start adding implementation to those fragments.

androidmenusdesign's People

Contributors

chancepayne avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.