作為一個(gè)菜鳥(niǎo)寫(xiě)這個(gè)Tools前我就一直在想干发,我們自己的項(xiàng)目中有很多很棒的工具類和一些自定義的View裳扯,而這些View或者工具類在網(wǎng)上或有或沒(méi)铜秆,既然他們懶得弄或者不屑弄誓琼,那好吧我來(lái)整理吧。也就是基于這個(gè)原因我開(kāi)始創(chuàng)建并且維護(hù)這個(gè)庫(kù)巍扛,我所希望的是這個(gè)庫(kù)能幫助到一部分Android初級(jí)的開(kāi)發(fā)人員领跛,也希望每一個(gè)看到 AndroidCodeTools
這個(gè)庫(kù)的碼神們,能多多的 Pull 你們開(kāi)發(fā)中所遇到的優(yōu)秀的工具類或者自定義View撤奸。
AndroidCodeTools (持續(xù)更新...)
GitHub:https://github.com/Pgrammerybj/AndroidCodeTools
分類
- Android工具類
- Android自定義控件
- Android自定義動(dòng)畫(huà)
Android工具類
1.之前在網(wǎng)上看到很多人遇到過(guò)在一個(gè)TextView是實(shí)現(xiàn)類似于Html中的超文本點(diǎn)擊跳轉(zhuǎn)的效果吠昭,正好這次項(xiàng)目中正好也有這個(gè)需求,然后自己也就利用SpannableStringBuilder擼了一個(gè)工具類胧瓜。當(dāng)然網(wǎng)上也有跟多不錯(cuò)的實(shí)現(xiàn)方式矢棚,我就不在這兒累贅了,大家一起交流咯府喳。
setTextViewHyperlink(TextView textView,String content,int textColor,int start1,int end1, OnTextViewhyperlinkOnClickListener listener))
- @param textView 文本控件
- @param content 內(nèi)容
- @param textColor需要響應(yīng)點(diǎn)擊事件文本的顏色
- @param start1 可點(diǎn)擊文本1的開(kāi)始角標(biāo)
- @param end1 可點(diǎn)擊文本1的結(jié)束角標(biāo)
- @param start2 可點(diǎn)擊文本2的開(kāi)始角標(biāo)(可選)
- @param end2 可點(diǎn)擊文本2的結(jié)束角標(biāo)(可選)
- @param listener 超鏈接點(diǎn)擊監(jiān)聽(tīng)
TextView hyperTextOne = (TextView) findViewById(R.id.tv_user_protocol_1);
//一個(gè)文本鏈接
UIUtilsView.setTextViewHyperlink(hyperTextOne,
getString(R.string.information_002),
getResources().getColor(R.color.defaultLinkText), 9, 17,
new UIUtilsView.OnTextViewhyperlinkOnClickListener() {
@Override
public void onClick(String text) {
// FIXME: 2017/8/2 這里能獲得到你點(diǎn)擊事件蒲肋,后續(xù)邏輯如何自己看需求哈
// text :這個(gè)text就是你所點(diǎn)擊的文字
}
}
);
??上面是TextView文本中有一個(gè)點(diǎn)擊事件的調(diào)用方式
TextView hyperTextTwo = (TextView) findViewById(R.id.tv_user_protocol_2);
//兩個(gè)文本鏈接
UIUtilsView.setTextViewHyperlink(hyperTextTwo,
getString(R.string.information_001),
getResources().getColor(R.color.defaultLinkText), 7, 15, 16, 28,
new UIUtilsView.OnTextViewhyperlinkOnClickListener() {
@Override
public void onClick(String text) {
// FIXME: 2017/8/2 有人說(shuō)不對(duì)啊我這兒有兩個(gè)點(diǎn)擊事件啊,
// 對(duì)的兩個(gè)點(diǎn)擊事件都走這一個(gè)監(jiān)聽(tīng),那么如何區(qū)分呢兜粘,就靠您的 text 字符串equles咯
}
}
);
??上面是TextView文本中有多個(gè)點(diǎn)擊事件的調(diào)用方式
(怎么效果圖沒(méi)有動(dòng)畫(huà)申窘?哈哈不要捉急,稍微等一下咯)
總結(jié)一下吧:目前是獲取相應(yīng)需要有點(diǎn)擊事件和變色的文本的角標(biāo)來(lái)實(shí)現(xiàn)的孔轴,還是有些許麻煩剃法,望廣大朋友給點(diǎn)兒優(yōu)化意見(jiàn)和建議。
Android自定義控件
- 自定義密碼距糖、驗(yàn)證碼輸入框玄窝,類似于支付、微信支付的密碼輸入界面
VerifyCodeView.setInputFinishListener(new VerifyCodeView.InputFinishListener() {
@Override
public void inputFinish(String strCode) {
//密碼輸入完成悍引,做你想做的
}
});
Android自定義動(dòng)畫(huà)
- 自定義動(dòng)畫(huà)請(qǐng)移步至 AnimationUtils
- https://github.com/Pgrammerybj/AndroidCodeTools
致謝
- 感謝廖子堯(jeasonlzy)在開(kāi)發(fā)中提出的幫助和建議(歡迎關(guān)注他的開(kāi)源項(xiàng)目okhttp-OkGo)