• This repository has been archived on 08/Feb/2022
  • Stars
    star
    289
  • Rank 143,419 (Top 3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated over 9 years ago

Reviews

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

Repository Details

An Android Wear Menu implementation

WearMenu

Build Status Android Weekly Android Arsenal

alt poster

WearMenu is an Android Wear Menu implementation

alt gif

Download

In your wear module Download

compile 'com.github.florent37:wearmenu:1.0.0@aar'

Usage

Add WearMenu above your GridViewPager

<?xml version="1.0" encoding="utf-8"?>
<com.github.florent37.WearMenu
    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"
    android:id="@+id/wear_menu"
    app:wearMenuPosition="bottomLeft"
    >

    <android.support.wearable.view.GridViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:keepScreenOn="true"/>

    <android.support.wearable.view.DotsPageIndicator
        android:id="@+id/page_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|bottom"
        android:layout_marginBottom="5dp"/>

</com.github.florent37.WearMenu>

You can change the opening direction of the WearMenu

<com.github.florent37.WearMenu

    app:wearMenuPosition="bottomLeft"
    app:wearMenuPosition="bottomRight"
    app:wearMenuPosition="topLeft"
    app:wearMenuPosition="topRight"

To open/close manually the WearMenu

WearMenu wearMenu = (WearMenu) findViewById(R.id.wear_menu);
wearMenu.toggle();

Display a list

In your activity, customise the wear list menu

wearMenu.setMenuElements(
                new String[]{
                        "title 1",
                        "title 2",
                        "title 3",
                        "title 4"
                });

You can display elements with icons

wearMenu.setMenuElements(
                new String[]{
                        "title 1",
                        "title 2",
                        "title 3",
                        "title 4"
                },
                new Drawable[]{
                        getResources().getDrawable(R.drawable.icon1),
                        getResources().getDrawable(R.drawable.icon2),
                        getResources().getDrawable(R.drawable.icon3),
                        getResources().getDrawable(R.drawable.icon4)
                });

And get back the selected element

wearMenu.setWearMenuListener(new WearMenu.WearMenuListener() {
            @Override
            public void onWearMenuListClicked(int position) {

            }
        });

Customisation

You can display a custom view in WearMenu

<com.github.florent37.WearMenu
    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"
    android:id="@+id/wear_menu"
    app:wearMenuLayout="@layout/myCustomView"
    app:wearMenuPosition="bottomLeft"
    >

Changing colors & backgrounds

<com.github.florent37.WearMenu
    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"
    android:id="@+id/wear_menu"
    app:wearMenuPosition="bottomLeft"
    app:wearMenuListTextColor="@color/blue"
    app:wearMenuListSelectedColor="@color/red"
    app:wearMenuListBackground="@color/black"
    >

Modify animation duration (500ms by default)

<com.github.florent37.WearMenu
    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"
    android:id="@+id/wear_menu"
    app:wearMenuPosition="bottomLeft"
    app:wearMenuDuration="300"
    >

TODO

  • Adding circle animation from touch position
  • Enabling fill list from xml layout
  • Adding preview for tools: package
  • Adding custom colors for each list element

Community

Looking for contributors, feel free to fork !

Wear

If you want to learn wear development : http://tutos-android-france.com/developper-une-application-pour-les-montres-android-wear/.

Credits

Author: Florent Champigny www.florentchampigny.com/

Follow me on Google+ Follow me on Twitter Follow me on LinkedIn

Pictures by Logan Bourgouin

Follow me on Google+

License

Copyright 2015 florent37, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

MaterialViewPager

A Material Design ViewPager easy to use library
Java
8,130
star
2

ShapeOfView

Give a custom shape to any android view, Material Design 2 ready
Java
3,132
star
3

ExpectAnim

Describe your animation and run !
Java
2,788
star
4

ViewAnimator

A fluent Android animation library
Java
2,712
star
5

DiagonalLayout

With Diagonal Layout explore new styles and approaches on material design
Java
2,562
star
6

CameraFragment

A simple easy-to-integrate Camera Fragment for Android
Java
2,290
star
7

ExpansionPanel

Android - Expansion panels contain creation flows and allow lightweight editing of an element.
Java
1,976
star
8

GlidePalette

Android Lollipop Palette is now easy to use with Glide
Java
1,677
star
9

ArcLayout

With Arc Layout explore new styles and approaches on material design
Java
1,638
star
10

MaterialTextField

A different beautiful Floating Edit Text
Java
1,488
star
11

HollyViewPager

A different beautiful ViewPager, with quick swipe controls
Java
1,131
star
12

FiftyShadesOf

An elegant context-care loading placeholder for Android
Java
1,107
star
13

ViewTooltip

A fluent tooltip for Android
Java
1,080
star
14

SingleDateAndTimePicker

You can now select a date and a time with only one widget !
Java
1,020
star
15

MyLittleCanvas

๐ŸŽจNeed to create a custom view ? You don't know how to use Canvas, use MyLittleCanvas instead !
Java
927
star
16

AwesomeBar

Just beautiful
Java
869
star
17

RuntimePermission

Simpliest way to ask runtime permissions on Android, no need to extend class or override permissionResult method, choose your way : Kotlin / Coroutines / RxJava / Java7 / Java8
Java
865
star
18

Depth

Add some Depth to your fragments
Java
779
star
19

Flutter-AssetsAudioPlayer

Play simultaneously music/audio from assets/network/file directly from Flutter, compatible with android / ios / web / macos, displays notifications
Dart
755
star
20

MaterialLeanBack

A beautiful leanback port for Smartphones and Tablets
Java
731
star
21

KotlinPleaseAnimate

Kotlin, please, can you animate my views ?
Kotlin
558
star
22

LongShadow

Add a long shadow on any Android View
Java
557
star
23

BubbleTab

Put some bubble in your tabs and give your apps a supa fresh style !
Java
533
star
24

TutoShowcase

A simple and Elegant Showcase view for Android
Java
509
star
25

RxRetroJsoup

A simple API-like from html website (scrapper) for Android, RxJava2 ready !
Java
485
star
26

Carpaccio

Data Mapping & Smarter Views framework for android
Java
414
star
27

BeautifulParallax

Beautify your RecyclerViews with a great parallax effect !
Java
410
star
28

MaterialImageLoading

Material image loading implementation
Java
390
star
29

PicassoPalette

Android Lollipop Palette is now easy to use with Picasso !
Java
365
star
30

android-slidr

Another android slider / seekbar, but different :-)
Java
346
star
31

Freezer

A simple & fluent Android ORM, how can it be easier ? RxJava2 compatible
Java
328
star
32

RxGps

Finding current location cannot be easier on Android !
Java
300
star
33

Android-NoSql

Lightweight, simple structured NoSQL database for Android
Java
288
star
34

InlineActivityResult

Receive the activity result directly after the startActivityForResult with InlineActivityResult
Java
273
star
35

Motion-ShapeOfView

Explain how to use MotionLayout with ShapeOfView
Kotlin
241
star
36

Android-3D-Layout

Wow effect, transform your layout into 3D views
Java
231
star
37

OCiney-iOS

Objective-C
227
star
38

NewAndroidArchitecture-Component-Github

Sample project based on the new Android Component Architecture
Java
222
star
39

DaVinci

DaVinci is an image downloading and caching library for Android Wear
Java
219
star
40

Flutter-ShapeOfView

Give a custom shape to any flutter widget, Material Design 2 ready
Dart
216
star
41

Shrine-MaterialDesign2

implementation of Material Design 2 Shrine project
Kotlin
216
star
42

AndroidUnitTest

Save time & clear your unit tests on Android !
Java
205
star
43

AndroidParallax

Parallax on Android in the simplest way
Java
173
star
44

ApplicationProvider

Retrieve the android application and the current activity from anywhere
Kotlin
165
star
45

Navigator

Android Multi-module navigator, trying to find a way to navigate into a modularized android project
Kotlin
142
star
46

Android-YoutubeMp3

Download videos as mp3 directly from Youtube Android App
Java
136
star
47

KotlinNativeSample

Kotlin Native app working on Android & iPhone
Kotlin
120
star
48

EnhancedNavigationView

A different BottomNavigationView that you could find in all android apps
Kotlin
114
star
49

AnimatedWidgets

Easily add animations on your screen with AnimatedWidgets. Made for Bloc pattern
Dart
113
star
50

OCiney

OCiney is a sample app implementing several UI and UX patterns. I was firstly built to test a few different implementations of a details page.
Java
110
star
51

Kanvas

Make canvas easier to use in Kotlin ๐Ÿ˜Š
Kotlin
98
star
52

Multiplatform-LiveData

Multiplatorm implementation of LiveDatas / MVVM in kotlin android & native ios
Kotlin
94
star
53

movie_android_flutter

A sample movie app, developed on flutter, then on android
Dart
87
star
54

Multiplatform-Preferences

Kotlin Multi Platform Preferences, for android an ios : SharedPreferences & NSUserDefault
Kotlin
86
star
55

Flutter-KenBurns

Kenburns effect on flutter
Dart
84
star
56

RxAnimator

An RxJava2 binding for android Animator
Java
79
star
57

WearViewStub

Display different layout on Android Wear Square / Round / Moto 360
Java
79
star
58

RxBus

Android reactive event bus that simplifies communication between Presenters, Activities, Fragments, Threads, Services, etc.
Java
77
star
59

TutosAndroidFrance

Java
75
star
60

Google-ARCore-Playground

Exploring Augmented Reality with google's sdk ARCore
Java
72
star
61

KotlinAnim

Create fluent animations in a kotlin way
Kotlin
70
star
62

Android-OkGraphQl

Reactive GraphQl client for Android
Java
64
star
63

AnimatedPencil

Animated Pencil Action view for Android
Java
60
star
64

RxComponentLifecycle

Rx binding of new Android Architecture Component Lifecycle
Java
56
star
65

Multiplatform-Log

Kotlin Multi Platform Logger, for android an ios : Logcat & print
Kotlin
51
star
66

DaggerAutoInject

Inject automatically your Activities & Fragments, just with a simple annotation
Java
49
star
67

EasyFirebase

Java
48
star
68

fonts

Define the fonts of your Android project directly from the build.gradle
Groovy
46
star
69

Multiplatform-Bus

Kotlin event-bus compatible with Android & native iOS
Kotlin
44
star
70

flutter_web_import_js_library

Import & use javascript libraries in your flutter web projects
JavaScript
42
star
71

Wear-Emmet

Emmet is an protocol based data-transfer for Android Wear
Java
41
star
72

AndroidAnalytics

Analytics dispatcher for Android Applications
Java
39
star
73

RxAndroidOrm

An reactive simple & fluent Android ORM, how can it be easier ? RxJava2 ready
Java
36
star
74

Flutter-Anim

Fluent Flutter Animation library. Describe Sequences & Parallel animation's workflow, setup startDelay, duration and curve, then run !
Dart
36
star
75

WormHole

WormHole allows to share classes between Flutter and Native Platform (android / ios)
Dart
34
star
76

Github

Sample project using Dagger2, RxJAva, RetroLambda and Carpaccio
Java
31
star
77

Coroutines-Animations

Use the power of kotlin coroutines to execute your android animations
Kotlin
30
star
78

Potier

Java
29
star
79

RxBeacon

Rx binding for AltBeacon (Android-Beacon-Library)
Java
29
star
80

Open-Mam

Open Source Mobile Application Management (WORK IN PROGRESS)
Java
28
star
81

HolyFragment

Fragment NewInstance generator
Java
16
star
82

Flutter_audio_widget

Play an audio on flutter can be as simple as display an image ! Just add a widget into the tree
Dart
14
star
83

Asyncterractor

Transform any object into an async object (can be useful for VIPER)
Java
14
star
84

WearKit

Wearkit is an Android Wear implementation of WatchKit
Java
13
star
85

JsonSerializable-Plugin

Intellij Plugin for Dart and Flutter projects. Generates the code that JsonSerializable need to generate the .g.dart files
Java
12
star
86

Missing_Kotlin

"Flutter is **** because it does not use Kotlin" Already heard it ? Prove them you can do the same thing as Kotlin using Flutter/Dart !
Dart
11
star
87

Baguette

Baguette is an Android Toast implementation adapted for Android Wear
Java
10
star
88

AdsManager

Java
9
star
89

StickyHeader

Cannot have a simplest android recycler sticky header implementation
8
star
90

AndroidMVPresenter

Java
6
star
91

WatchFaceSample

Java
5
star
92

GCM-Sample-Android-PHP

Java
4
star
93

OSSRH-67799

3
star
94

flutter_web_howl

JavaScript
2
star
95

MeetupWear_EmmetDavinci

Java
2
star
96

OpenMam-PHP

JavaScript
1
star
97

OpenMam-Android

Java
1
star
98

MyYoutube

1
star
99

UnitTestWithDagger

Java
1
star