更好用的 SuperTextView (v2.0.1) - (含)新年福利

Insight.io

新年福利

感謝一直以來支持 SuperTextView 的 Androider 們。 SuperTextView2017.04 有了第一次提交以後,至今已經有近8個月的時間了,從 star 也從 0 積累到了如今近 1.3k ,十分感謝你們支持。android

SuperTextView 從無到有的過程當中,有不少同窗提出了許多頗有建設性的建議,CoorChice 很是感謝這些同窗,也儘量的知足了一些你們的訴求。但因爲如今 SuperTextView 已經在不少商業項目中落地使用,因此 CoorChice 在進行更新迭代的時候會更加謹慎些,以穩定性爲主,因此並非全部同窗的期待都會獲得知足,還請各位諒解。git


CoorChice 在此先祝全部同窗新年快樂!github

嗯,即然是新年,天然要來點福利嘍,嗯哼...bash

SuperTextView 至今還有沒有一個標識性的 Logo ,這不科學!惋惜 CoorChice 只是一個 Developer ,想了很久也畫不出個滿意的 Logo微信

因此,這次趁着新年,放個福利出來:app

幫助 CoorChiceSuperTextView 設計一個棒棒噠 Logo ,之後這個 Logo 就會被做爲 SuperTextView 的官方標識啦!ide

CoorChice 但願有才的你設計的 Logo 可以體現 SuperTextView 的特色(你能夠參考 SuperTextView 的文檔尋找靈感),同時簡潔的 Logo 會更受歡迎哦!若是 Logo 可以具備很好的傳播屬性那就太棒了!svg

2017.12.29 起,至 2018.01.25 期間,你能夠經過郵箱或微信將你設計的 Logo 發送給 CoorChiceCoorChice 會選出一個最適合的做品做爲從此 SuperTextView 的官方標識。動畫

【郵箱】:icechen_@outlook.comspa

【微信】:759393474

同時,重點來了!

被選中做爲 SuperTextView 官方標識的做品, CoorChice 將會送給才華橫溢的做者【兩盒酷爽美味的小龍蝦】做爲感謝。嗯哼...吃貨的肚子是否是已經飢渴難耐了呢?快快開始你的表演吧!

v2.0.1 - 將來,在此

一直以來,CoorChice都心存一個設想,期待着可以打造這樣一個控件:它能知足你的大部分開發需求,展現文字、圖片、幾何、動畫、狀態,讓你使用一個控件就能高效的完成大部分開發工做。它是如此的強大,彷彿有心智通常,接受着你的輸入,按照你的心意,呈現出歎爲觀止的畫面。隨着【SuperTextView v2.0.1】的到來,咱們離這個設想更近了一步。如今,來和【SuperTextView v2.0.1】見個面吧!

SuperTextView v2.0

圖片,就是如今

在【SuperTextView v2.0.1】中,增長了對圖片展現的支持。但不只僅止於展現圖片,它還能智能的根據你的輸入將圖片剪裁爲你指望的形狀。

image

給圖片加上圓角,加上邊框,或者直接變成圓形,全部的一切只須要設置幾個簡單的屬性,即刻呈如今你的眼前。

展現一張圖片

如何使用SuperTextView展現一張圖片?只須要在xml中加上下面兩句代碼便可。

<com.coorchice.library.SuperTextView
    ...
    app:state_drawable="@drawable/avatar1"
    app:drawableAsBackground="true"
    ...
 />
複製代碼

若是你是SuperTextView的忠實用戶的話,你會發現,本來的state_drawable如今能夠被用來展現一張圖片。

給圖片加上圓角

如今,你的圖片呈如今了你的眼前,也許你還想對它作一些不同的事情,好比,加個圓角,或者直接變成圓形?沒問題,SuperTextView如今徹底能勝任這樣的工做。

<com.coorchice.library.SuperTextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    ...
    app:corner="15dp"
    app:state_drawable="@drawable/avatar1"
    app:drawableAsBackground="true"
    ...
 />
複製代碼

如此簡單!在原來的基礎上你僅僅須要設置合理的corner值就行。

也許,你還想要邊框

有時候,你可能須要使用一個邊框去包裹住你的圖片,就像上面的示例那樣。沒錯,這確定在SuperTextView能力範圍內。

<com.coorchice.library.SuperTextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    ...
    app:corner="50dp"
    app:stroke_color="#F4E187"
    app:stroke_width="4dp"
    app:state_drawable="@drawable/avatar1"
    app:drawableAsBackground="true"
    ...
 />
複製代碼

app:stroke_color 掌控着邊框的顏色,app:stroke_width 掌控着邊框的寬度。一切如此流暢,一個有心智的控件本該如此,對嗎?

第二個狀態圖

面對複雜的需求變化,【SuperTextView】爲應對這種複雜性,孕育出了第二個狀態圖 state_drawable2

如今,CoorChice將向你展現,上圖中的兩種效果是如何實現的。

  • 示例一
<com.coorchice.library.SuperTextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    ...
    app:corner="50dp"
    app:state_drawable="@drawable/avatar1"
    app:drawableAsBackground="true"
    // state_drawable2的配置由此開始
    app:isShowState2="true"
    app:state_drawable2="@drawable/recousers"
    app:state_drawable2_mode="rightTop"
    app:state_drawable2_height="20dp"
    app:state_drawable2_width="20dp"
    ...
 />
複製代碼
  • 示例二
<com.coorchice.library.SuperTextView
    android:layout_width="100dp"
    android:layout_height="100dp"
    ...
    // 背景圖
    android:background="@drawable/avatar7"
    // drawable1的配置由此開始
    app:isShowState="true"
    app:state_drawable="@drawable/triangle"
    app:state_drawable_mode="leftTop"
    app:state_drawable_width="20dp"
    app:state_drawable_height="20dp"
    // state_drawable2的配置由此開始
    app:isShowState2="true"
    app:state_drawable2="@drawable/recousers"
    app:state_drawable2_mode="rightTop"
    app:state_drawable2_height="20dp"
    app:state_drawable2_width="20dp"
    ...
 />
複製代碼

就如你所熟悉的同樣,state_drawable2 延續了第一代一切流暢的操做。在聰明的你合理的使用下,【SuperTextView】必定可以大放異彩!😉

屬於Adjuster的時代

此前,Adjuster 的設計使得【SuperTextView】具備了靈魂,成爲更聰明的控件。對繪製過程的插入,觸摸事件的捕捉,使得你能輕鬆的從外部改變一個控件的狀態。創意始於心,而行於此。

如今,【SuperTextView】可以同時承載最多3個 Adjuster !也許,你的創意會更加的炫目。

在上面這個示例中,CoorChice將早起的兩個【掃光】和【漣漪】特效都加入到了一個【SuperTextView】中,結果就是你看到的這樣。

更多的 Adjuster 意味着更多的組合,更多的驚喜。在【v1.4.0】中,CoorChice一樣使用了 Adjuster 來輕鬆的實現了按壓變色功能。

這是 Adjuster 的時代,睿智的你必定能夠運用它揮灑創意的。

須要注意的是⚠️,本來的 setAdjuster(Adjuster) 方法目前仍然被保留,但之後的版本將會被移除,你必需要儘快遷移。新的替代方法爲 addAdjuster(Adjuster)

其它

  • 修正控制Shader模式的屬性 app:shaderMode="leftToRight" 的拼寫。原來爲 app:shaderMode="leftTopRight" 。若是你使用了該屬性,在升級【SuperTextView v2.0.1】後請及時修正。
  • 增長 set/getPressBgColor()set/getPressTextColor() 用於在代碼中控制按壓背景色。
  • 修復【SuperTextView v2.0】中設置點擊事件無效的Bug。

如何開始SuperTextView v2.0.1

dependencies {
	        compile 'com.github.chenBingX:SuperTextView:v2.0.1'
	}
複製代碼

點擊這裏跳轉SuperTextView項目地址。https://github.com/chenBingX/SuperTextView

寫在最後

  • 若是你喜歡SuperTextView,但願能順手到 Github 點個star以示鼓勵哦!
  • 抽出空餘時間寫文章分享須要動力,還請各位看官動動小手點個贊,給我點鼓勵😄
  • 我一直在不按期的創做新的乾貨,想要上車只需進到個人【我的主頁】點個關注就行了哦。發車嘍~

點擊這裏跳轉SuperTextView項目地址。https://github.com/chenBingX/SuperTextView

SuperTextView 舊版文檔:https://www.jianshu.com/p/1b91e11e441d

相關文章
相關標籤/搜索