IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android实现引导效果 -> 正文阅读

[移动开发]Android实现引导效果

作者:token keyword

Android实现引导效果

1.效果

在这里插入图片描述

2.使用GuideView框架

GuideView生成引导比较方便,就是一些细节容易忘记,我在工作中使用过几次了,但是这个流程还是不太清晰,所以做个笔记巩固

2.1依赖

implementation 'com.binioter:guideview:1.0.0'

2.2定义一个component

一些概念

/**
 * Description:
 * author:jiawei.hao
 * Date:5/9/22
 */
public class MyComponent implements Component {
    
    @Override
    public View getView(LayoutInflater inflater) {
        //写你的布局,然后渲染过来
        return null;
    }

    //component在高亮View的那里,上边:ANCHOR_TOP,下边:ANCHOR_BOTTOM,左边:ANCHOR_LEFT,右边:ANCHOR_RIGHT
    @Override
    public int getAnchor() {
        return 0;
    }

    //component跟高亮View的对齐方式,FIT_START:如果component和高亮View在垂直方向上,代表左对齐,如果是水平方向上,代表顶部对齐;FIT_CENTER:中心线对齐;FIT_END:如果component和高亮View在垂直方向上,代表右对齐,如果是水平方向上,代表底部对齐;
    @Override
    public int getFitPosition() {
        return 0;
    }

    //在上面两个方法的基础上,component相对于高亮view进行水平方向偏移,>0,向右偏移,<0,向左偏移,单位是dp
    @Override
    public int getXOffset() {
        return 0;
    }

    //在上面三个方法的基础上,component相对于高亮view进行垂直方向偏移,>0,向下偏移,<0,向上偏移,单位是dp
    @Override
    public int getYOffset() {
        return 0;
    }
    
}

测试代码:安排一个引导布局,在高亮View的上方,并且左对齐,向左偏移158dp。向上偏移10dp

/**
 * Description:
 * author:jiawei.hao
 * Date:5/9/22
 */
public class GuideViewDemoComponent implements Component {

    @Override
    public View getView(LayoutInflater inflater) {
      //写你的布局,然后渲染过来
        RelativeLayout relativeLayout = (RelativeLayout) inflater.inflate(R.layout.component_guide_view_demo,null);
        return relativeLayout;
    }

    //引导内容在高亮View的上方
    @Override
    public int getAnchor() {
        return ANCHOR_TOP;
    }

    //引导内容与高亮View左对齐
    @Override
    public int getFitPosition() {
        return FIT_START;
    }

    //向左偏移158dp,注意单位是dp
    @Override
    public int getXOffset() {
        return -158;
    }

    //向上偏移10dp,注意单位是dp
    @Override
    public int getYOffset() {
        return -10;
    }

}

2.3在Activity中显示引导效果

GuideBuilder builder = new GuideBuilder();
builder.setTargetView(targetView)
                .setHighTargetCorner(UiUtils.dip2px(this,8)) //设置高亮部分的圆角,单位是像素
                .setHighTargetPadding(UiUtils.dip2px(this,10)) //设置高亮部分的padding,相当于扩大高亮部分,单位是像素
                .setOutsideTouchable(true) //true:遮盖部分点击事件无效(component中的点击事件不受影响,有效),false:点击事件有效,点击的时候会关闭引导
                .setOnVisibilityChangedListener(new GuideBuilder.OnVisibilityChangedListener() { //引导消失显示回调
                    @Override
                    public void onShown() {

                    }

                    @Override
                    public void onDismiss() {

                    }
                })
                .setAlpha(128); //设置覆盖的maskview透明度,取值0-255;

builder.addComponent(new GuideViewDemoComponent());
builder.createGuide().show(this);

2.4GuideView的github地址

GuideView的github地址

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:04:12  更:2022-05-14 10:04:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 1:51:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码