此库出自翔神之手   用起来绝对方便

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

实现代码

package com.jock.highlight;

import android.app.Activity;
import android.graphics.RectF;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast; import com.jock.lib.HighLight; public class MainActivity extends Activity
{ private HighLight mHightLight; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); findViewById(R.id.id_btn_amazing).post(new Runnable()
{
@Override
public void run()
{
showTipMask();
}
} ); } private void showTipMask()
{
mHightLight = new HighLight(MainActivity.this)//
.anchor(findViewById(R.id.id_container))// 假设是Activity上添加引导层,不须要设置anchor
.addHighLight(R.id.id_btn_important, R.layout.info_up, new HighLight.OnPosCallback()
{
@Override
public void getPos(float rightMargin, float bottomMargin, RectF rectF, HighLight.MarginInfo marginInfo)
{
System.out.println("rectF.right" + rectF.right);
System.out.println("rectF.width()" + rectF.width());
System.out.println("rectF.bottom" + rectF.bottom);
System.out.println("--------------------------------------------------------------------"); marginInfo.leftMargin = rectF.right - rectF.width() / 2;
marginInfo.topMargin = rectF.bottom;
}
}) .addHighLight(R.id.id_btn_amazing, R.layout.info_down, new HighLight.OnPosCallback()
{
/**
* @param rightMargin
* 高亮view在anchor中的右边距
* @param bottomMargin
* 高亮view在anchor中的下边距
* @param rectF
* 高亮view的l,t,r,b,w,h都有
* @param marginInfo
* 设置你的布局的位置。一般设置l,t或者r,b
*/
@Override
public void getPos(float rightMargin, float bottomMargin, RectF rectF, HighLight.MarginInfo marginInfo)
{ System.out.println("rightMargin" + rightMargin);
System.out.println("rectF.width()" + rectF.width());
System.out.println("rectF.height()" + rectF.height());
System.out.println("bottomMargin" + bottomMargin);
System.out.println("--------------------------------------------------------------------");
marginInfo.rightMargin = rightMargin + rectF.width() / 2;
marginInfo.bottomMargin = bottomMargin + rectF.height();
} }); mHightLight.show();
} public void remove(View view)
{
mHightLight.remove();
} public void add(View view)
{
mHightLight.show();
} }

源代码

Android 高亮指示层提示的更多相关文章

  1. Android引导指示层的制作 (ViewStub + SharePreference)

    引导指示界面是个什么鬼东西?一张图即明了:

  2. Xcode解决代码高亮、语法提示、错误警告等功能失效的解决方法

    在编写xcode的项目的时候出现过代码不高亮的症状,而且所有的warning都不再提示,include的内容也显示symbol not found,非常奇怪,解决方案如下: 方法一: 1.把.pch里 ...

  3. iOS开发必备HUD(透明指示层)

    iOS开发必备HUD(透明指示层) 字数421 阅读2123 评论1 喜欢51 1.MBProgressHUD GitHub地址:https://github.com/jdg/MBProgressHU ...

  4. android中“下次不再提示”的对话框(修改自某大神)

    如图,我们要做得就是这个: 先上代码: 1,逻辑代码 package com.example.hello; import android.app.Activity; import android.ap ...

  5. [转载]在Android C/C++层添加LOG调试

    原文地址:C/C++层添加LOG调试">在Android C/C++层添加LOG调试作者:谢轩昂 在Android C/C++层添加LOG调试,并且在Logcat中输出的方法 第一步: ...

  6. Android studio设置参数提示

    在Android studio的使用的过程中,那么就需要对当前的代码显示当前的方式做一个的提示信息,那么可以通过Android studio的的设置的方法,来对Android studio方法的提示显 ...

  7. cocos2d-x 通过JNI实现c/c++和Android的java层函数互调

    文章摘要: 本文主要实现两个功能: (1)通过Android sdk的API得到应用程序的包名(PackageName),然后传递给c++层函数. (2)通过c++函数调用Android的java层函 ...

  8. Android自定义控件(状态提示图表) (转)

    源:Android自定义控件(状态提示图表) 源:Android应用开发 [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 1  背景 前面分析 ...

  9. Android Studio 代码自动提示无效

    Android Studio代码自动提示无效(not available in Power Save mode)的解决办法 问题描述: 今天用Android studio敲代码,突然间就没有代码提示了 ...

随机推荐

  1. Leetcode0133--Clone Graph 克隆无向图

    [转载请注明]:https://www.cnblogs.com/igoslly/p/9699791.html 一.题目 二.题目分析 给出一个无向图,其中保证每点之间均有连接,给出原图中的一个点 no ...

  2. Python标准库sys

    1.命令行参数sys.argv 我们从Python语言之模块第一部分的例子开始,看看sys.argv中到底存了些什么内容. #Filename: using_sys.py import sys i=0 ...

  3. querySelector

     this.el.nativeElement.querySelector import {Component, ElementRef, OnInit} from '@angular/core'; 

  4. Scrapy爬虫框架 基础

    1< scrapy的安装 命令行安装 pip install scrapy <常见错误是缺少 wim32api 安装win32api pip install pywin32 <还有就 ...

  5. 如何从源码启动和编译IoTSharp

    IoTSharp 项目是一个开源物联网平台,数据库使用PostgreSQL , 后端使用 Asp.Net Core 2.2 ,前端使用  vue-element-admin , 下面我们介绍如何启动项 ...

  6. CAD处理键盘按钮被释放(com接口VB语言)

    主要用到函数说明: MxDrawXCustomEvent::KeyUp 键盘按钮被释放,详细说明如下: 参数 说明 iVk 是按钮码,如F8,的值为#define VK_F8 0x77 返回0消息继续 ...

  7. Linux内核系统调用处理过程

    原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ 学号末三位:168 下载并编译Linux5.0 xz -d linux-.tar.xz . ...

  8. CPU重要性能参数

    内容来自http://www.360doc.com/content/18/1124/15/60810319_796935567.shtml CPU有几个重要的参数:主频.核心.线程.缓存.架构.那么他 ...

  9. 使用原生JS的AJAX读取json全过程

    首先ajax(async javascript and xml)是用于前端与后端文件比如xml或者json之间的交互.他是一种异步加载技术,意味着你点击某个加载事件是再也不用刷新整个页面,而是发送局部 ...

  10. HTML学习笔记之标签基础

    目录 1.基本标签 2.链接 3.图像 4.表格 5.列表 6.块与布局 1.基本标签 (1)标题与段落 标签 <h1> ~ <h6> 分别用于定义一至六级标题,标签 < ...