當前位置:吉日网官网 - 錢幣收藏 - 全局字體設置

全局字體設置

通過設置字體大小同步更改全局字體。

長幹貨,建議喜歡收藏。

有許多方法可以實現這壹點:

先看效果圖。在設置頁面上,設置字體類型,保存它,並刷新綁定監視器以更改所有顯示的textview的字體大小。

首先創建壹個新的字體設置工具類。

下面是字體模型截圖,類似於方案1中的字體主題。頁面的標準字體、大字體、超大字體是對應設置的,可以隨意擴展。

下壹步是自定義綁定屬性並專門設置方法。

在自定義綁定方法中,偵聽器是通過livedata註冊的,因此它類似於方案3。其實每個textview都有壹個監聽器,livedata可以綁定生命周期,自動創建和銷毀監聽器,避免內存泄漏。

xml中綁定設置的方法。

創建布局時,會自動執行綁定方法。

在綁定方法中,將根據xml中的字體大小類型執行工具類中的getFontVo方法。

getFontVo方法回讀本地緩存的字體類型,等於主題類型,從而讀取具體的模型數據,得到數據設置更新。

綁定方法中的監控是綁定到當前生命周期的,所以當頁面被銷毀或回收時會自動釋放。

只要在xml中設置了自定義綁定屬性,就可以在不影響原有設置的情況下同步修改更新,如絲般順滑。

當然,因為它是基於綁定的,所以項目必須基於數據綁定。

因為我後來接觸的項目都是數據綁定,也是主流。

如果沒有,推薦方案3,壹般流程類似通過自定義視圖實現。

碼字不容易,喜歡就給個贊吧。

因為它是綁定的,有時如果不能滿足要求,可以額外擴展方法。

比如tablayout可以達到放大選中字體的效果。

很簡單,它擴展了兩個屬性,壹個是是否選中,壹個是增量。

只需要用xml動態配置,然後就可以通過邏輯控制同步設置了。

只要工具類被封裝,您只需要在以後設置綁定屬性。

這個方案從需求、擴展、刷新效果來說都是非常好的。

  • 上一篇:
  • 下一篇:舊模式
  • copyright 2024吉日网官网