標籤:tail rect create extends 技術分享 find tracking .post .net
此庫出自翔神之手 用起來絕對方便
實現代碼
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;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.id_btn_amazing).post(new Runnable(){@Overridepublic 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(){@Overridepublic 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 */@Overridepublic 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 高亮指示層提示