• Stars
    star
    2,439
  • Rank 18,861 (Top 0.4 %)
  • Language
    Java
  • Created almost 9 years ago
  • Updated over 3 years ago

Reviews

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

Repository Details

Material Intro View is a showcase android library.

MaterialIntroView [Beta]

Material Intro View is a showcase android library.

We saw this kind of showcase on Fabulous App and we love it. Then decided to create showcase just like it.

Screen

Usage

new MaterialIntroView.Builder(this)
                .enableDotAnimation(true)
				.enableIcon(false)
                .setFocusGravity(FocusGravity.CENTER)
                .setFocusType(Focus.MINIMUM)
                .setDelayMillis(500)
                .enableFadeAnimation(true)
                .performClick(true)
                .setInfoText("Hi There! Click this card and see what happens.")
                .setShapeType(ShapeType.CIRCLE)
                .setTarget(view)
                .setUsageId("intro_card") //THIS SHOULD BE UNIQUE ID
                .show();

Import

Project build.gradle

repositories {
    maven {
        url "https://jitpack.io"
    }
}

Module build.gradle

dependencies {
  compile 'com.github.iammert:MaterialIntroView:1.6.0'
}

Builder Methods

.setMaskColor(Color.Blue) 
.setDelayMillis(3000) //starts after 3 seconds passed
.enableFadeAnimation(true) //View will appear/disappear with fade in/out animation
//ie. If your button's width has MATCH_PARENT.
//Focus.ALL is not a good option. You can use
//Focus.MINIMUM or Focus.NORMAL. See demos below.
.setFocusType(Focus.MINIMUM)
.setFocusType(Focus.NORMAL)
.setFocusType(Focus.ALL)
//ie. You can focus on left of RecyclerView list item.
.setFocusGravity(FocusGravity.LEFT)
.setFocusType(FocusGravity.CENTER)
.setFocusType(FocusGravity.RIGHT)
.setTarget(myButton) //Focus on myButton
.setTargetPadding(30) //add 30px padding to focus circle
.setInfoText("This is info text!") //Setting text will enable info dialog
.setTextColor(Color.Black) //Info dialog's text color is set to black
.setInfoTextSize(30) //Change text size
.setShapeType(ShapeType.CIRCLE) //Change shape of focus area
.setShapeType(ShapeType.RECTANGLE) //Change shape of focus area
.setCustomShape(Shape shape) //Use custom shape
// Allow this showcase overlay to only show up once. Prevents multiple screens from showing at the same time.
// Useful if you wish to show a tour step in a code that gets called multiple times
.setIdempotent(true)
.setUsageId("intro_fab_button") //Store intro view status whether it is learnt or not
.enableDotAnimation(true) //Shows dot animation center of focus area
.enableIcon(false) //Turn off helper icon, default is true
.performClick(true) //Trigger click operation when user click focused area.
//If you don't want to perform click automatically
//You can disable perform clik and handle it yourself
.setListener(new MaterialIntroListener() {
                    @Override
                    public void onUserClicked(String materialIntroViewId) {
                        
                    }
                })
                

Configuration Method

//Create global config instance to not write same config to builder
//again and again.
MaterialIntroConfiguration config = new MaterialIntroConfiguration();
config.setDelayMillis(1000);
config.setFadeAnimationEnabled(true);
...
.setConfiguration(config) //

Use Custom Shapes

You can use your own highlight shapes if Circle and Rectangle do not work for you. See source for Circle and Rect for implementation example.

public class MyShape extends Shape {
    // ... your implementation
}

//... in your app code

.setCustomShape(MyShape shape)

Demos

Alt text Alt text Alt text Alt text Alt text

TODO

  • Sample app will be more detailed about using library.
  • Sequence for MaterialIntroViews

Authors

Mert SIMSEK

Murat Can BUR

Docs

Chinese Doc

License

Copyright 2015 Mert Şimşek.

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

ScalingLayout

With Scaling Layout scale your layout on user interaction.
Java
3,334
star
2

ReadableBottomBar

Yet another material bottom bar library for Android
Kotlin
1,268
star
3

MultiSearchView

Yet another built-in animated search view for Android.
Kotlin
1,208
star
4

ExpandableLayout

Expandable LinearLayout
Java
1,196
star
5

MusicPlayerView

Android custom view and progress for music player
Java
1,107
star
6

AndroidArchitecture

Recommended architecture by Android
Java
890
star
7

ProgressLayout

custom progress layout view for Android
Java
817
star
8

AnimatedTabLayout

Yet another android tab layout
Kotlin
797
star
9

StatusView

Custom status view for Android.
Java
783
star
10

InteractivePlayerView

Custom android music player view.
Java
742
star
11

dagger-android-injection

Sample project explains Dependency Injection in Android using dagger-android framework.
Java
515
star
12

AppLocker

🔐 Open source app locker, vault, call blocker application
Kotlin
452
star
13

MaskProgressView

Yet another android custom progress view for your music player
Java
366
star
14

CameraVideoButton

Instagram like animated button for taking photo or recording video.
Kotlin
257
star
15

RadioPlayerService

Android service library which uses AAC Player. Ready to use Radio Player Service.
Java
252
star
16

FastGCM

Fast Google Cloud Messaging(GCM) integration for Android. Receive push notification easily.
Java
251
star
17

TabScrollAttacher

Attach TabLayout and RecyclerView. Useful for categorizing RecyclerView items.
Kotlin
227
star
18

Android-MVVM-Architecture

Sample MVVM project uses instagram API
Java
214
star
19

RangeView

Android range view for cropping (video, audio, etc.)
Kotlin
187
star
20

TileProgressView

Simple Progress View with Tile Animation
Kotlin
157
star
21

PhotoViewIndicator

Indicator for PhotoView Library https://github.com/chrisbanes/PhotoView
Kotlin
131
star
22

HueSeekBar

Yet another android seekbar inspired from Philips Hue app
Java
109
star
23

CollapsingToolbarExample

Material collapsing toolbar and floating action button demonstration
Java
85
star
24

EasyMap

Ready to use Address Selection Library using Google Maps and Places API.
Kotlin
84
star
25

DragToDismissImageViewer

Drag to dismiss image view in imageviewer activity
Java
59
star
26

Frames

Retrieves desired frames from video.
Kotlin
56
star
27

Frekans

📻 Frekans is a radio player app. It will be fully developed with Kotlin. It is work-in-progress and under heavy development.
Kotlin
42
star
28

android-sortedlist-sample

Sample project that implements SortedList in RecyclerView.Adapter
Kotlin
29
star
29

WaterWatchFace

Android wear watchface
Java
23
star
30

Blend

Create gradient drawable easily.
Kotlin
23
star
31

VideoMetadataProvider

Video metadata provider library (collect metadata from ExoPlayer, FFMpeg, Native Android)
Kotlin
21
star
32

Dagger2Example

Basic Dagger 2 Dependency Injection example
Java
21
star
33

rewarded-ads-sample

Sample project to show rewarded ads on your android app
Java
17
star
34

GestureDetector

Custom touch gestures for Android
Kotlin
16
star
35

FlickrClient

Basic Flickr Client
Java
16
star
36

hoychatapp

Hoy app let you meet random people all over the world. It is already published on app market. But if you want to add some feature, you are free to steal anything.
Java
10
star
37

DotLineWatchface

Android wear watchface
Java
9
star
38

launch-mode

Android launch mode cheatsheet
9
star
39

meow

Q&A tool for Android (👨🏻‍💻Under development👨🏻‍💻)
Kotlin
6
star
40

CofiTurn

JavaScript
6
star
41

ExoPlayerTest

Java
6
star
42

HolyWatchFace

Holy Shit Watchface
Java
5
star
43

yemeksepetiparser

Java
3
star
44

ExoPlayerService

Android radio player service library using Exo player
3
star
45

Material-News

Open source news application with MVVM and DataBinding
2
star