Giter Club home page Giter Club logo

fluentui-android's Introduction

Fluent UI for Android

The Android UI framework for building experiences for Office and Office 365.

Fluent UI for Android is a native library that provides the Office UI experience for the Android platform. It contains information about colors and typography, as well as custom controls and customizations for platform controls, all from the official Fluent design language used in Office and Office 365 products.

Contents

Colors and typography

Fluent UI for Android provides colors and typography based on the Fluent design language.

Controls

Fluent UI for Android includes an expanding library of controls written in Kotlin. These controls implement the Fluent design language and bring consistency across Office app experiences.

Some of the controls available include:

  • AvatarView
  • Button styles
  • BottomSheet
  • CalendarView
  • CircularProgress styles
  • DateTimePickerDialog
  • Drawer
  • ListItemView
  • PeoplePickerView
  • PersonaChipView
  • PersonaListView
  • PersonaView
  • Snackbar
  • TemplateView
  • Tooltip

A full list of currently supported controls can be found here: FluentUI.

Install and use Fluent UI

Requirements

API 21+

1. Using Gradle

  • Our library is published through JCenter, so make sure the jcenter() repository has been added to your project level build.gradle file (which usually is automatic).

  • Inside the dependency block in your build.gradle, add this line for the FluentUI library:

dependencies {
    ...
    implementation 'com.microsoft.fluentui:FluentUIAndroid:$version'
    ...
}
  • Make sure you replace $version with the latest version of FluentUI.

a) Develop for Surface-Duo:

  • Please also add the following lines to your repositories section in your gradle script:
maven {
    url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1"
}
  • Also add the SDK dependency to the module-level build.gradle file(current version may be different from what's shown here):
implementation "com.microsoft.device:dualscreen-layout:1.0.0-alpha01"

2. Using Maven

  • Add the FluentUI library as a dependency:
<dependency>
  <groupId>com.microsoft.fluentui</groupId>
  <artifactId>FluentUIAndroid</artifactId>
  <version>${version}</version>
</dependency>
  • Make sure you replace ${version} with the latest version of FluentUI.

3. Manual installation

  • Download the latest changes from the Fluent UI Android repository.

  • Follow these instructions to build and output an AAR file from the FluentUI module, import the module to your project, and add it as a dependency. If you're having trouble generating an AAR file for the module, make sure you select it and run "Make Module 'FluentUI'" from the Build menu.

  • Some components have dependencies you will need to manually add to your app if you are using this library as an AAR artifact because these dependencies do not get included in the output.

    • If using PeoplePickerView, include this dependency in your gradle file:
      implementation 'com.splitwise:tokenautocomplete:2.0.8'
    • If using CalendarView or DateTimePickerDialog, include this dependency in your gradle file:
      implementation 'com.jakewharton.threetenabp:threetenabp:1.1.0'
    • Double check that these library versions correspond to the latest versions we implement in the FluentUI build.gradle.

Import and use the library

In code:

import com.microsoft.fluentui.persona.AvatarView

In XML:

<com.microsoft.fluentui.persona.AvatarView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:name="Mona Kane" />

Demo app

Included in this repository is a demo of currently implemented controls. A full list of implemented controls available in the demo can be found here: Demos.

To see samples of all of our implemented controls and design language, run the FluentUI.Demo module in Android Studio.

Contributing

Post bug reports, feature requests, and questions in Issues.

Changelog

We use GitHub Releases to manage our releases, including the changelog between every release. You'll find a complete list of additions, fixes, and changes on the Releases page.

License

All files on the Fluent UI for Android GitHub repository are subject to the MIT license. Please read the LICENSE file at the root of the project.

Usage of the logos and icons referenced in Fluent UI for Android is subject to the terms of the assets license agreement.

fluentui-android's People

Contributors

aipratap avatar krritik avatar microsoftopensource avatar tamasane97 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.