ShowCaseView

by mreram

:flashlight:The ShowcaseView library is designed to highlight and showcase specific parts of apps to...

249 Stars 72 Forks Last release: 22 days ago (1.2.0) Apache License 2.0 73 Commits 8 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

:flashlight:ShowCaseView:flashlight:

Release APK API Android Arsenal awesome-android

How to use:question:

Sample usage in your activity

java
new GuideView.Builder(this)
    .setTitle("Guide Title Text")
    .setContentText("Guide Description Text\n .....Guide Description Text\n .....Guide Description Text .....")
    .setGravity(Gravity.auto) //optional
    .setDismissType(DismissType.anywhere) //optional - default DismissType.targetView
    .setTargetView(view)
    .setContentTextSize(12)//optional
    .setTitleTextSize(14)//optional
    .build()
    .show();

Installation

maven:

   
     jitpack.io
     https://jitpack.io
   

Step 2. Add the dependency
    com.github.mreram
    showcaseview
    1.2.0

gradle:

Add it in your root build.gradle at the end of repositories:

groovy   
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
Step 2. Add the dependency
groovy   
implementation 'com.github.mreram:showcaseview:1.2.0'

Change type face

new GuideView.Builder(this)
    .setTitle("Guide Title Text")
    .setContentText("Guide Description Text\n .....Guide Description Text\n .....Guide Description Text .....")
    .setTargetView(view)
    .setContentTypeFace(Typeface)//optional
    .setTitleTypeFace(Typeface)//optional
    .setDismissType(DismissType.outSide) //optional - default dismissible by TargetView
    .build()
    .show();

Change title and Content text size

new GuideView.Builder(this)
    .setTitle("Guide Title Text")
    .setContentText("Guide Description Text\n .....Guide Description Text\n .....Guide Description Text .....")
    .setTargetView(view)
    .setContentTextSize(12)//optional
    .setTitleTextSize(14)//optional
    .setDismissType(DismissType.outSide) //optional - default dismissible by TargetView
    .build()
    .show();

Change Gravity

new GuideView.Builder(this)
    .setTitle("Guide Title Text")
    .setContentText("Guide Description Text\n .....Guide Description Text\n .....Guide Description Text .....")
    .setGravity(Gravity.CENTER)//optional
    .setTargetView(view) 
    .setDismissType(DismissType.outSide) //optional - default dismissible by TargetView
    .build()
    .show();

use Spannable for Content

new GuideView.Builder(this)
    .setTitle("Guide Title Text")
    .setTargetView(view)
    .setContentSpan((Spannable) Html.fromHtml("testing spannable"))
    .setDismissType(DismissType.outSide) //optional - default dismissible by TargetView
    .build()
    .show();

Set Listener

new GuideView.Builder(MainActivity.this)
    .setTitle("Guide Title Text")
    .setContentText("Guide Description Text\n .....Guide Description Text\n .....Guide Description Text .....")
    .setGravity(Gravity.CENTER)
    .setTargetView(view1)
    .setDismissType(DismissType.outSide) //optional - default dismissible by TargetView
    .setGuideListener(new GuideListener() {
        @Override
        public void onDismiss(View view) {
           //TODO ...
        }
     })
    .build()
    .show();

DismissType Attribute

| Type | Description | | ------ | ------ | | outside | Dismissing with click on outside of MessageView | | anywhere | Dismissing with click on anywhere | | targetView | Dismissing with click on targetView(targetView is assigned with setTargetView method) |

Contribution :collision:

Pull requests are welcome! :clap:

You can improve/fix some part of it .

Add Tests:

Assuming that the code in question already has automated (unit) tests, do add tests for the code you submit. This isn't a hard rule. There are various cases where you may need to add code without test coverage (e.g. when adding a Object), but if it can be tested, it should be tested.

License

   Copyright 2018 Mohammad Reza Eram

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.