誠意之作,SuperTextView (v3.1.1)

image
【SuperTextView english document】
點擊此處,查看《SuperTextView 開發(fā)參考文檔》
點擊此處,查看詳細(xì)的《SuperTextView API文檔》

SuperTextView 被打造來幫助 Android 開發(fā)者更高效、更便捷、更優(yōu)雅的開發(fā) Android 應(yīng)用。

現(xiàn)在,這一誠意之作再次升級。全新的 SuperTextView 將向 Android 開發(fā)者開放更多可能性,當(dāng)然一如既往,SuperTextView 也帶來了更多高效的功能。

神奇的著色

image

SuperTextView 此次的升級,為 StateDrawable 增加了神奇而強(qiáng)大的著色能力。開發(fā)者可以輕松的改變一個圖標(biāo)的顏色,而不用再增加一個僅僅是顏色不同的圖標(biāo)到項目中。這項技術(shù)將為你的 Android 應(yīng)用程序帶來一次瘦身的機(jī)遇。

# 修改 drawable 的顏色
app:stv_state_drawable_tint="@color/gray"

# 修改 drawable2 的顏色
app:stv_state_drawable2_tint="@color/red"

只需要如此一行簡單的代碼,就能瞬間賦予一張圖片千變?nèi)f化的能力。想要任何色彩,當(dāng)然是你說了算。而這一切的發(fā)生,無需再引進(jìn)另外一張圖片。

在 Java 代碼中,有與之對應(yīng) set/get 函數(shù),讓開發(fā)者可以在任何時候都能施展魔法,改變一張圖片的色彩。

七十二般變化

對 StateDrawable 的增強(qiáng),不僅僅限于顏色的變換。SuperTextView 更被賦予了改變 StateDrawable 形態(tài)的能力。同樣的一張圖,開發(fā)者可以組合出無數(shù)種可能。

image

只需簡單的幾行代碼,你便可以隨心所欲的變換任何一張圖片。

# 修改 drawable 的旋轉(zhuǎn)角度
app:stv_state_drawable_rotate="90"

# 修改 drawable2 的旋轉(zhuǎn)角度
app:stv_state_drawable2_rotate="90"

無需復(fù)雜的代碼,SuperTextView 一如既往的簡潔、優(yōu)雅。

同樣,在 Java 代碼中,也提供了對應(yīng)的 set/get 函數(shù)。

這項能力,可以有效的幫助開發(fā)者將 Android 應(yīng)用的體積向著極致的方向壓縮。

精彩遠(yuǎn)不止于此

image

這就是漸變文字!

SuperTextView 所提供的可能是目前為止實現(xiàn)漸變文字最簡潔、優(yōu)雅的解決方案。只需要簡單的配置,就能實現(xiàn)酷炫的漸變文字效果。

# 是否啟用漸變色文字
app:stv_textShaderEnable="true"

# 設(shè)置文字的起始漸變色
app:stv_textShaderStartColor="@color/red"

# 設(shè)置文字的結(jié)束漸變色
app:stv_textShaderEndColor="@color/yellow"

# 設(shè)置文字的漸變的模式
# leftToRight:左 -> 右
# rightToLeft:右 -> 左
# topToBottom:上 -> 下
# bottomToTop:下 -> 上
app:stv_textShaderMode="leftToRight"

這些屬性也在 Java 中開放了 set/get 接口,便于開發(fā)者隨時動態(tài)的修改它們。

開放了新的 API

1. Adjuster 增加 onAttach、onDetach

Adjuster 增加了兩個新的函數(shù):

  • onAttach():當(dāng) Adjuster 被設(shè)置到一個 SuperTextView 中時會被調(diào)用。
  • onDetach():當(dāng) Adjuster 被從一個 SuperTextView 中移除時會被調(diào)用。

通過在 Adjuster 中重寫這兩個函數(shù),開發(fā)者可以在正確的時機(jī)進(jìn)行狀態(tài)注冊、初始化,或者取消注冊、釋放資源等操作。

public class MyAdjuster extends SuperTextView.Adjuster{

    @Override
    protected void adjust(SuperTextView superTextView, Canvas canvas) {
      
    }

    @Override
    public void onAttach(SuperTextView stv) {
      // 當(dāng) Adjuster 被加入一個 SuperTextView 時會被調(diào)用
    }

    @Override
    public void onDetach(SuperTextView stv) {
      // 當(dāng) Adjuster 被從 SuperTextView 移除時會被調(diào)用
    }
}

2. 提供 getAdjusterList() 函數(shù)

這個函數(shù)可以讓開發(fā)者獲得一個 SuperTextView 中的所有 Adjuster。如果 SuperTextView 中沒有 Adjuster 的話,將會返回 null。

?? 你必須重視這些變化

1. 屬性增加了 stv_ 前綴

現(xiàn)在,SuperTextView 的所有屬性都加上了前綴 stv_。

這樣做可以避免當(dāng)開發(fā)者引入的其它第三方庫時,與 SuperTextView 可能產(chǎn)生的屬性名沖突。

如果開發(fā)者目前正在使用一個此前版本的 SuperTextView,那么當(dāng)升級到新的版本后,需要在所有 xml 中的屬性前加上 stv_ 前綴。

得益于現(xiàn)代 IDE 的強(qiáng)大,開發(fā)者可以輕松的完成這些工作。就像下面這樣。

app:corner="10dp"

corner 是舊版本中的屬性名稱,升級到新版本后,需要在前面增加 stv_ 前綴,變?yōu)?stv_corner。

image

如果開發(fā)者使用的是 AndroidStudio,從 Edit > Find > Replace 打開批量替換對話框,然后按照下圖操作即可。

image

如果開發(fā)者的項目中只有 SuperTextView 使用了相同的命名空間(如 app),那么很幸運(yùn),你可以直接將 app: 替換為 app:stv_ 即可。

2. setAdjuster(Adjuster) 已被移除

從 SuperTextView v2.0 版本開始,setAdjuster(Adjuster) 函數(shù)就被標(biāo)記為了將被移除的狀態(tài),同時加入了新的函數(shù) addAdjuster(Adjuster) 作為替代。

在新的版本中,setAdjuster(Adjuster) 函數(shù)將被正式移除,如果開發(fā)者此前使用了該方法,請將其修改為 addAdjuster(Adjuster)。

如何開始 SuperTextView v3.1.1

dependencies {
     compile 'com.github.chenBingX:SuperTextView:v3.1.1'
}

SuperTextView Github 【傳送門】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,973評論 2 59
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 【SuperTextView english document】 點擊此處,查看《SuperTextView 開發(fā)...
    CoorChice閱讀 32,251評論 147 626
  • 甘德禮(重溫學(xué)生時代)持續(xù)原創(chuàng)分享第54天 坐在階梯教室,聆聽教授們諄諄教誨,仿佛又回到了30多年前,那種青春蕩漾...
    華南帝虎閱讀 528評論 0 4

友情鏈接更多精彩內(nèi)容