Android 修改 TextView 的全域預設顏色。

來源:互聯網
上載者:User

如果你的應用中大多數TextView的顏色是紅色, 或者其他顏色, 你是為每一個TextView都設定一次顏色, 還是有其他更好的辦法, 這裡教你怎麼修改TextView的預設顏色。

當然我們TextView的遠嗎入手。

通過查看 TextView 源碼, 發現如下代碼:


這段代碼錶示, TextView的預設樣式名稱是 textViewStyle。 然後在Themes.xml中的Theme下面找到 textViewStyle, 可以發現如下代碼
@android:style/Widget.TextView
而且不同的主題TextViewStyle的值是不一樣的。其中:
  • Theme 下面是 @android:style/Widget.TextView;
  • Theme.Height 下面沒有這個值, 不知道為什麼;
  • Theme.Holo 下面是 :@android:style/Widget.Holo.TextView;
  • Theme.Holo.Light 下面是 @android:style/Widget.Holo.Light.TextView;
 接著查看源碼TextView, 在509行發現如下代碼:
=;
這段代碼的功能就是用於擷取顏色的。 可以發現是通過com.android.internal.R.styleable.TextAppearance_textColor的值。 然後我們查看style.xml檔案, 找到如下代碼:
            ?android:attr/textAppearanceSmall
Widget.TextView 就是上文找的 Theme下面的TextViewStyle的值。 然後我們看到 android:textAppearance 這個就是TextView源碼中提到過的。 自然接下來查看:?android:attr/textAppearanceSmall 在Theme中定義的值的是什麼。
@android:style/TextAppearance.Small
我們看到textAppearanceSmall值是 @android:style/TextAppearance.Small, 然後當然要找到@android:style/TextAppearance.Small在style.xml中找到:
            14sp        ?textColorSecondary    
 可以看到顏色的定義名稱是 ?textColorSecondary, 到這裡我們終於找到定義顏色的地方了。 這個各個主題鮮明都有定義,不止一處。
@android:color/secondary_text_dark
 在Theme中我們終於看到定義TextView的顏色的代碼了。 比如把TextView預設顏色改為 #333333, 使用如下代碼
            #333333    

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.