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

 



实现代码

[java]  view plain  copy
  1. package com.jock.highlight;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.RectF;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.widget.Toast;  
  8.   
  9. import com.jock.lib.HighLight;  
  10.   
  11. public class MainActivity extends Activity  
  12. {  
  13.   
  14.     private HighLight mHightLight;  
  15.   
  16.     @Override  
  17.     protected void onCreate(Bundle savedInstanceState)  
  18.     {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.activity_main);  
  21.   
  22.         findViewById(R.id.id_btn_amazing).post(new Runnable()  
  23.         {  
  24.             @Override  
  25.             public void run()  
  26.             {  
  27.                 showTipMask();  
  28.             }  
  29.         }  
  30.   
  31.         );  
  32.   
  33.     }  
  34.   
  35.     private void showTipMask()  
  36.     {  
  37.         mHightLight = new HighLight(MainActivity.this)//  
  38.                 .anchor(findViewById(R.id.id_container))// 如果是Activity上增加引导层,不需要设置anchor  
  39.                 .addHighLight(R.id.id_btn_important, R.layout.info_up, new HighLight.OnPosCallback()  
  40.                 {  
  41.                     @Override  
  42.                     public void getPos(float rightMargin, float bottomMargin, RectF rectF, HighLight.MarginInfo marginInfo)  
  43.                     {  
  44.                         System.out.println("rectF.right" + rectF.right);  
  45.                         System.out.println("rectF.width()" + rectF.width());  
  46.                         System.out.println("rectF.bottom" + rectF.bottom);  
  47.                         System.out.println("--------------------------------------------------------------------");  
  48.   
  49.                         marginInfo.leftMargin = rectF.right - rectF.width() / 2;  
  50.                         marginInfo.topMargin = rectF.bottom;  
  51.                     }  
  52.                 })  
  53.   
  54.                 .addHighLight(R.id.id_btn_amazing, R.layout.info_down, new HighLight.OnPosCallback()  
  55.                 {  
  56.                     /** 
  57.                      * @param rightMargin 
  58.                      *            高亮view在anchor中的右边距 
  59.                      * @param bottomMargin 
  60.                      *            高亮view在anchor中的下边距 
  61.                      * @param rectF 
  62.                      *            高亮view的l,t,r,b,w,h都有 
  63.                      * @param marginInfo 
  64.                      *            设置你的布局的位置,一般设置l,t或者r,b 
  65.                      */  
  66.                     @Override  
  67.                     public void getPos(float rightMargin, float bottomMargin, RectF rectF, HighLight.MarginInfo marginInfo)  
  68.                     {  
  69.   
  70.                         System.out.println("rightMargin" + rightMargin);  
  71.                         System.out.println("rectF.width()" + rectF.width());  
  72.                         System.out.println("rectF.height()" + rectF.height());  
  73.                         System.out.println("bottomMargin" + bottomMargin);  
  74.                         System.out.println("--------------------------------------------------------------------");  
  75.                         marginInfo.rightMargin = rightMargin + rectF.width() / 2;  
  76.                         marginInfo.bottomMargin = bottomMargin + rectF.height();  
  77.                     }  
  78.   
  79.                 });  
  80.       
  81.   
  82.         mHightLight.show();  
  83.     }  
  84.   
  85.     public void remove(View view)  
  86.     {  
  87.         mHightLight.remove();  
  88.     }  
  89.   
  90.     public void add(View view)  
  91.     {  
  92.         mHightLight.show();  
  93.     }  
  94.   
  95. }  


源码


转自:http://blog.csdn.net/u014061684/article/details/50505684



更多相关文章

  1. Android中设置全屏的方法
  2. 解决jdk1.6已经安装,编译android源码报错问题
  3. android 自带的下拉刷新控件,含Demo(SwipeRefreshLayout控件)
  4. android 横屏 竖屏 全屏 当前屏幕宽 高
  5. android转屏处理
  6. android hardware 简述(Android系统源码情景分析 笔记)
  7. Android中自动跳转到系统设置界面
  8. TabLayout 设置指示器宽度问题
  9. 自定义Android标题栏

随机推荐

  1. Android获取网速和下载速度
  2. Caused by: java.lang.ClassNotFoundExce
  3. 对于Android的一些牢骚
  4. Android个人所得税计算器
  5. Android开发者,是时候了解LeakCanary了
  6. 在Android中解析ls 命令得到目录列表的方
  7. android 录音和播放
  8. Android AsyncTask源码简单分析
  9. Android Wifi模块分析(一)
  10. Android 之往通讯录中添加数据和查询数据