android 设置新手引导

我们只做新手引导,一般都是用viewpager或者在页面上覆盖一张半透明的布局来展示,有时需要UI切很多张图片。但有时安卓机器有时对不准指定的按钮。下面我来介绍一款很好用的第三方库MaterialShowcaseView。可以很好的解决上述问题,并且给UI省很多功夫。

如何使用?

1,由于该项目使用自定义仓库 jitpack 。因此需要配置 Project 目录下的build.gradle

repositories {
    maven {
        url "https://jitpack.io"
    }
}
2,随后在  build.gradle 添加

dependencies {
 compile com.github.deano2390:MaterialShowcaseView:1.1.0@aar'
}

 点击 Sync Now,使 Gradle 生效即可。 

3,在需要添加引导的地方调用下面的方法

private void presentShowcaseSequence() {

        ShowcaseConfig config = new ShowcaseConfig();
        config.setDelay(500); // half second between each showcase view
        MaterialShowcaseSequence sequence = new MaterialShowcaseSequence(this, "aa");

        sequence.setConfig(config);

        sequence.addSequenceItem(layout_main_bottom_bar_tab4, "This is button one", "GOT IT");

        sequence.addSequenceItem(
                new MaterialShowcaseView.Builder(this)
                        .setTarget(mHomeFragment.mIbtnTitleRight)
                        .setDismissText("GOT IT")
                        .withRectangleShape(true)
                        .setContentText("This is button two")
                        .build()
        );
        sequence.start();

    }

MaterialShowcaseView的一些重要方法:
设置我们要解释的文字
 private void setContentText(CharSequence contentText) {
        if (mContentTextView != null) {
            mContentTextView.setText(contentText);
        }
    }

设置点击消失的文字

 private void setDismissText(CharSequence dismissText) {
        if (mDismissButton != null) {
            mDismissButton.setText(dismissText);
        }
    }

设置2种字体的颜色

 private void setContentTextColor(int textColour) {
        if (mContentTextView != null) {
            mContentTextView.setTextColor(textColour);
        }
    }

    private void setDismissTextColor(int textColour) {
        if (mDismissButton != null) {
            mDismissButton.setTextColor(textColour);
        }
    }

设置延迟时间

private void setDelay(long delayInMillis) {
        mDelayInMillis = delayInMillis;
    }

初始化一个ID(唯一)

public Builder singleUse(String showcaseID) {
            showcaseView.singleUse(showcaseID);
            return this;
        }

初始化某个ID的试图

public static void resetSingleUse(Context context, String showcaseID) {
        PrefsManager.resetShowcase(context, showcaseID);
    }
设置引导的控件
setTarget()
设置高亮的地方形状

withRectangleShape(true)//矩形

最后说一下它的原理:

它是将每一个引导都做出来,添加到一个集合里,当我们点击下一步的时候是将当前的view移除。另外项目编译版本为23。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值