前言
一個(gè)app用戶剛上手的時(shí)候可能面對(duì)界面上很多信息無所適從,所以這時(shí)候可能一個(gè)簡單的新功能指引是非常必要的,至少用戶戳戳戳幾下就能知道點(diǎn)了那個(gè)地方能干些什么宪卿。
今天的內(nèi)容就是實(shí)現(xiàn)這個(gè)功能戳玫,但是這次不是自己寫了,感謝github谤碳,感謝偉大的開源精神溃卡。推薦的是兩個(gè)項(xiàng)目,一個(gè)滿足基本需求蜒简;一個(gè)滿足各種需求瘸羡。各位小伙伴在看了文章和代碼之后自行取舍適合自己的。
上代碼
我在自己某個(gè)項(xiàng)目中使用的是第二個(gè).
上說明
主要說的是第二個(gè)搓茬,因?yàn)榈谝粋€(gè)沒用過...
只需要復(fù)制作者項(xiàng)目里面的GuideView類就可以了犹赖。主要作者在里面定義了兩個(gè)色值,自己去color里面添加一下卷仑。另外峻村,這個(gè)類調(diào)用了getViewTreeObserver().removeOnGlobalLayoutListener()
方法,它需要的最低SDK版本是16锡凝,注意更改一下粘昨。
因?yàn)槭切鹿δ艿母吡林敢员仨氁簧蟻砭统鲂Ч芫猓沂侵怀鲞@第一次打開app的效果张肾,所以需要在oncreat或者onresume方法中調(diào)用,然后自己使用sp判斷一下是不是第一次打開就行啦锚扎。
設(shè)置方法也很清楚明了,這里是使用文字+圖片捌浩,圖片可以自行替換,比如把R.mipmap.ic_launcher替換成箭頭:
// 使用文字+圖標(biāo)
final TextView tv2 = new TextView(this);
tv2.setText("歡迎使用");
Drawable d = getResources().getDrawable(R.mipmap.ic_launcher);
d.setBounds(0, 0, 50, 50);
tv2.setCompoundDrawables(d , null, null, null);
tv2.setTextColor(getResources().getColor(R.color.white));
tv2.setTextSize(30);
//tv2.setGravity(Gravity.CENTER);
上面這個(gè)是準(zhǔn)備要顯示的東西工秩,最后要將其顯示到目標(biāo)區(qū)域:
GuideView guideView = GuideView.Builder.newInstance(this)
.setTargetView(btnTest2)//要突出的目標(biāo)
.setCustomGuideView(tv2)//對(duì)目標(biāo)進(jìn)行的解釋尸饺,就是上面準(zhǔn)備那個(gè)
.setDirction(GuideView.Direction.LEFT_BOTTOM)//設(shè)置位置
.setShape(GuideView.MyShape.RECTANGULAR) // 設(shè)置矩形顯示區(qū)域进统,
.setRadius(80) // 設(shè)置圓形或矩形透明區(qū)域半徑,默認(rèn)是targetView的顯示矩形的半徑浪听,如果是矩形螟碎,這里是設(shè)置矩形圓角大小
.setBgColor(getResources().getColor(R.color.shadow))//背景顏色
.setOnclickListener(new GuideView.OnClickCallback() {
@Override
public void onClickedGuideView() {
guideView.hide();//點(diǎn)一下隱藏自己或者開啟下一個(gè)需要指引的地方
}
})
.build();
在一個(gè)方法里面設(shè)置那么三四個(gè)高亮指引,然后在oncreat或者onresume方法中調(diào)用就ok啦迹栓。
上效果圖
最后
說說這個(gè)GuideView
掉分,繼承自RelativeLayout,onDraw
方法中枚舉了CIRCULAR圓形, ELLIPSE橢圓, RECTANGULAR圓角矩形三種圖形克伊,可以在這里去增加自己想要的酥郭,比如五角星什么的。靜態(tài)類Builder中可以自定義各種零件的屬性來裝飾guiderView愿吹,具體的那些看代碼啦~
上代碼
文中給出的是第二個(gè)的代碼不从,雖然demo是我自己的寫的,但是跟作者那個(gè)也如出一轍犁跪,這里就不放我的代碼了椿息。
【功能篇】擴(kuò)展閱讀
《Android APP應(yīng)該有的東西》之功能篇:版本檢測更新
《Android APP應(yīng)該有的東西》之功能篇:熱修復(fù)
簡書地址:簡書主頁,專注技術(shù)類
轉(zhuǎn)載請(qǐng)注明出處坷衍,蟹蟹!
-------我的夢想真的是做一條咸魚寝优!