自定义遮盖层,帮你完成简单的操作引导

转载请注明出处:王亟亟的大牛之路

最近忙的起飞,本来想周末写的东西结果拖到了今天,不过没事。下午抽出点时间把工作做了下,开源给大家。

话不多说,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android(各个模块已经基本拆出来了,还剩下动画/自定义控件/疑难杂症/资料部分)



先看下实现的效果

来看下项目目录(很少就一个实现类,一个工具类)

简单讲一下这里有什么以及怎么用:

这是一个继承于RelativeLayout的自定义View

public class GuiderLayout extends RelativeLayout

可以做到 2种样式,圆 and 方

分别是

public static final int CLTP_RECT = 1;

public static final int CLTP_CIRCLE = 2;

有3中位置关系,分别是 below above right-top(也就是图中箭头以及文字于圈圈的关系)

那如何去show这个试图呢?

 guiderLayout.showGuider(button1, "common", GuiderLayout.CLTP_CIRCLE);

 public void showGuider(View view, final String tag, int clipMode)
传入3个参数:
1,被“圈”的View
2,"身份证"tag以及位置关系(为了易用没做自定义attrs.xml的行为)
3,“圈类型”,上面有提到,圆/方 两种样式

那怎么去掉这一堆“引导内容呢”?(就是箭头啊,文字啊这些)

guiderLayout.showNoGuide();
这边有一点没做好,没封装彻底,还要多写一行来隐藏“灰色的底板”,之后的会做2期提升,完善这部分
guiderLayout.setVisibility(View.GONE);

使用并不复杂,主要是说下tag这部分

需要show的layout (箭头,文字那个)要设置一个tag,像这样

   android:tag="common,below"

传入2个参数,用 “,”分割

第一个参数是“身份证”(自己写,唯一就行)

第二个参数是 “位置关系”(上面提到的那3个)

具体怎么用可以看源码,地址如下

项目地址:https://github.com/ddwhan0123/GuiderLayout

上一个高斯模糊的Dialog做了一些更新,有兴趣的也可以看下,地址如下:https://github.com/ddwhan0123/BlurPopupWindow

再贴下类似的遮盖层实现的开源库:

https://github.com/iammert/MaterialIntroView

https://github.com/hongyangAndroid/Highlight

时间: 2024-10-30 23:02:45

自定义遮盖层,帮你完成简单的操作引导的相关文章

自定义遮盖层,帮你完成简单的操作引

自定义遮盖层,帮你完成简单的操作引导 版权声明:本文为博主原创文章,允许转载,但请保留出处. 转载请注明出处:王亟亟的大牛之路 最近忙的起飞,本来想周末写的东西结果拖到了今天,不过没事.下午抽出点时间把工作做了下,开源给大家. 话不多说,先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android(各个模块已经基本拆出来了,还剩下动画/自定义控件/疑难杂症/资料部分) 先看下实现的效果 来看下项目目录(很少就一个实现类,一个工具类) 简

【Android自定义View实战】之超简单SearchView

[Android自定义View实战]之超简单SearchView 在Android开发中我们经常会用到搜索框,而系统提供的又不尽完美.所以自定义一个比较简单的SearchView. 效果图 实现代码 package cn.bluemobi.dylan.searchview; import android.content.Context; import android.text.Editable; import android.text.TextWatcher; import android.ut

SqlServer简单的操作XML以及SQl的 try catch等统一格式

1:SqlServer简单的操作XML: ALTER PROCEDURE [dbo].[SP_CRM_FranchiseeRecharge_Money] @Create_By VARCHAR(50), @xmlStr1 NVARCHAR(MAX) -写在这里面的为 传入的参数 AS BEGIN as begin后面的为自定义的变量 SET NOCOUNT ON; DECLARE @xml XML = @xmlStr1; sqlserver操作XML T-SQL提供了以下几个针对XML类型的查询函

使用jxl操作之一: 实现对Excel简单读写操作

项目目录树 对象类UserObject UserObject.java package com.dlab.jxl; public class UserObject { private String userName; private String age; private String address; public String getUserName() { return userName; } public void setUserName(String userName) { this.

android 简单文件操作

1.布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orient

Java 实现Excel的简单读取操作

JAVA实现Excel表单的简单读取操作 实现Excel表单的简单读取操作,首先要导入相关的jar包: 如图所示: 此处贴上代码: public static List<List<String>> readExcel(String path){ List<List<String>> list=new ArrayList<List<String>>(); try { Workbook wb; InputStream is=null; t

SequoiaDB 系列之二 :SequoiaDB的简单CRUD操作

上一篇通过一系列的操作,终于把SequoiaDB的集群部署到单台机器上了. 建议去安装体验一下吧. 在整个环境的部署的体验来看,并没有MongoDB的部署简单,但是比MongoDB的部署要清晰.MongoDB启动进程,后面跟着一大串配置,有点云里雾里的感觉,这个对初学者不太友好.而SequoiaDB的部署,着眼整个集群环境,能在脑中轻松构建一副设计图,协调节点的服务端口是11810,catalog节点的服务端口是11820,11830,11840,而数据节点的服务端口是11850,11860,1

mysql模块简单实用操作-----nodejs

1 //mysql模块简单实用操作 2 3 var mysql = require('mysql'); 4 5 mc = {}; 6 7 8 var dbconfig = { 9 host : 'xxxxxxxxxx', 10 user : 'xxx', 11 password : 'xxx', 12 database : 'xxxxx' 13 }; 14 15 16 17 mc.sqlExc = function (sql, next) { 18 var db = mysql.createCo

下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作

下面介绍一下 Yii2.0 对数据库 查询的一些简单的操作 User::find()->all(); 此方法返回所有数据: User::findOne($id); 此方法返回 主键 id=1 的一条数据(举个例子): User::find()->where(['name' => '小伙儿'])->one(); 此方法返回 ['name' => '小伙儿'] 的一条数据: User::find()->where(['name' => '小伙儿'])->all(