Android(安卓)高亮指示层提示
16lz
2022-04-24
此库出自翔神之手 用起来绝对方便
实现代码
[java] view plain copy
- 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();
- }
- }
源码
转自:http://blog.csdn.net/u014061684/article/details/50505684
更多相关文章
- Android中设置全屏的方法
- 解决jdk1.6已经安装,编译android源码报错问题
- android 自带的下拉刷新控件,含Demo(SwipeRefreshLayout控件)
- android 横屏 竖屏 全屏 当前屏幕宽 高
- android转屏处理
- android hardware 简述(Android系统源码情景分析 笔记)
- Android中自动跳转到系统设置界面
- TabLayout 设置指示器宽度问题
- 自定义Android标题栏