前言
許多時(shí)候,我們需要讓文字或者視圖從用戶眼前消失,最常見的做法當(dāng)然是
view.setVisibility(View.GONE);
但是,這在某些情況下無(wú)法滿足業(yè)務(wù)需求,比如說(shuō)某控件既有圖像又有文字,而我只想讓文字消失,那上面的方法顯然不行,這時(shí)可以使用
textView.setText("");
再有些情況,我們甚至不能改變文字的內(nèi)容,以及......
總之呢,多會(huì)幾種解決問(wèn)題的方法便能應(yīng)對(duì)更多的情況。那么,就進(jìn)入正題吧~
Demo及源碼

GoneView
這里我選擇TextView作為研究對(duì)象,因?yàn)門extView可玩性很高,其實(shí)里面有很多方法也是可以用于普通View的。
項(xiàng)目Github地址: GoneView
歡迎 star 喜歡 補(bǔ)充 哈 ^^~
簡(jiǎn)要說(shuō)明
其實(shí)效果GIF圖里的文字已經(jīng)就已經(jīng)告訴你實(shí)現(xiàn)方法啦,這里做少量補(bǔ)充。
如上面的GIF圖,十種方法如下,這里我用view來(lái)表示點(diǎn)擊的視圖控件:
- 調(diào)用View的setVisibility(View.GONE)方法,使view消失。
- 調(diào)用View的setVisibility(View.INVISIBLE)方法,將view原地隱藏。
- 調(diào)用View的setAlpha(0)方法,使view的透明度變?yōu)?。
- 調(diào)用TextView的setTextColor(0x00123456)方法,將字體顏色設(shè)為透明。
- 調(diào)用TextView的setText("")方法,將文字內(nèi)容置空。
- 調(diào)用View的animate().alpha(0)方法,使view執(zhí)行透明動(dòng)畫。
- 調(diào)用View的animate().x(3000)方法,使view執(zhí)行將x坐標(biāo)移動(dòng)至3000的動(dòng)畫(將view移至屏幕外)。
- 調(diào)用View的animate().scaleX(0)方法,使view執(zhí)行將x坐標(biāo)縮放至0的動(dòng)畫。
- 調(diào)用View的父視圖的removeView(view)方法,將view移除。
- 調(diào)用View的setBackgroundColor(0xff000000)方法,將view的背景色設(shè)置為文字顏色。