一個用于介紹app新功能引導介紹高亮庫:Highlight

vaxi2386 8年前發布 | 33K 次閱讀 Android開發 移動開發

一個用于介紹app新功能引導介紹高亮庫


1447218620586996.png

引入

下載代碼,然后:

dependencies {
       compile project(':highlight')
}

用法

對于上面效果圖中的一個需要高亮的View,需要通過下面的代碼

new HighLight(MainActivity.this)//
.anchor(findViewById(R.id.id_container))//
.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)
        {
            marginInfo.leftMargin = rectF.right - rectF.width() / 2;
            marginInfo.topMargin = rectF.bottom;
        }
    })//

anchor()指你需要在哪個view上加一層透明的蒙版,如果不設置,默認為android.R.id.content。也就是說,該庫支持局部范圍內去高亮某些View.

addHighLight包含3個參數:

  • 參數1:需要高亮view的id,這個沒什么說的

  • 參數2:你的tip布局的layoutId,也就是箭頭和文字,你自己編寫個布局,參考demo即可。

  • 參數3:是個接口,接口包含一系列的位置信息,如下

  • /**
    * @param rightMargin 高亮view在anchor中的右邊距
    * @param bottomMargin 高亮view在anchor中的下邊距
    * @param rectF 高亮view的l,t,r,b,w,h都有
    * @param marginInfo 設置你的布局的位置,一般設置l,t或者r,b
    */

  • 哈,提供了一堆的位置信息,但是你要做的,只是去設置leftMargin和topMargin;或者rightMargin和bottomMargin。
    目前看起來,我覺得位置信息夠了,當然如果你有想法歡迎提出。
    哈,是不是參數比較多,看著煩,如果你圖省事,可以提供一個枚舉,提供4個或者8個默認的位置,這個事呢,dota1群@李志云已經完成~認識的話可以去找他。

 

 

</div> </div>

項目地址: https://github.com/hongyangAndroid/Highlight

 本文由用戶 vaxi2386 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!