是不是非常酷,看如何使用。
github: https://github.com/KeepSafe/TapTargetView
使用
1、build.gradle 中引入TapTargetView
repositories {
jcenter()
}
dependencies {
implementation ‘com.getkeepsafe.taptargetview:taptargetview:1.12.0’
}
2、在activity中添加如下代码:
TapTargetView.showFor(this, // this is an Activity
TapTarget.forView(findViewById(R.id.target), “This is a target”, “We have the best targets, believe me”)
// All options below are optional
.outerCircleColor(R.color.red) // Specify a color for the outer circle
.outerCircleAlpha(0.96f) // Specify the alpha amount for the outer circle
.targetCircleColor(R.color.white) // Specify a color for the target circle
.titleTextSize(20) // Specify the size (in sp) of the title text
.titleTextColor(R.color.white) // Specify the color of the title text
.descriptionTextSize(10) // Specify the size (in sp) of the description text
.descriptionTextColor(R.color.red) // Specify the color of the description text
.textColor(R.color.blue) // Specify a color for both the title and description text
.textTypeface(Typeface.SANS_SERIF) // Specify a typeface for the text
.dimColor(R.color.black) // If set, will dim behind the view with 30% opacity of the given color
.drawShadow(true) // Whether to draw a drop shadow or not
.cancelable(false) // Whether tapping outside the outer circle dismisses the view
.tintTarget(true) // Whether to tint the target view’s color
.transparentTarget(false) // Specify whether the target is transparent (displays the content underneath)
.icon(Drawable) // Specify a custom drawable to draw as the target
.targetRadius(60), // Specify the target radius (in dp)
new TapTargetView.Listener() { // The listener can listen for regular clicks, long clicks or cancels
@Override
public void onTargetClick(TapTargetView view) {
super.onTargetClick(view); // This call is optional
doSomething();
通过构造一个TapTarget 来配置各种选项,可以配置比如:标题、描述、icon、阴影、弹出的圆形的大小、颜色和半径等等。提供的api 简介明了,具体的效果可以亲自试试。
除了通过TapTarget.forView 为一个View 设置引导之外,还可以对一个特定的区域设置引导,通过TapTarget.forBounds(Rect, ...) 来实现。
如何做一系列引导?
该库提供了系列引导的方式,使用TapTargetSequence ,代码如下:
new TapTargetSequence(this)
.targets(
TapTarget.forView(findViewById(R.id.never), “Gonna”),
TapTarget.forView(findViewById(R.id.give), “You”, “Up”)
.dimColor(android.R.color.never)
.outerCircleColor(R.color.gonna)
.targetCircleColor(R.color.let)
.textColor(android.R.color.you),
TapTarget.forBounds(rickTarget, “Down”, “:^)”)
.cancelable(false)
.icon(rick))
.listener(new TapTargetSequence.Listener() { d.R.color.you),
TapTarget.forBounds(rickTarget, “Down”, “:^)”)
.cancelable(false)
.icon(rick))
.listener(new TapTargetSequence.Listener() {
|