Android style 繼承

來源:互聯網
上載者:User

標籤:oid   複用   ext   eagle   必須   art   div   parent   完全   

  style作用在單個視圖或控制項上,抽取共有的屬性,實現複用。

 

  style的繼承有兩種方式:

  通過parent標識父style

1 <style name="GreenText" parent="@android:style/TextAppearance">2     <item name="android:textColor">#00FF00</item>3 </style>

  父style的name作為首碼加“.”串連新style的name

1 <style name="CodeFont.Red">2     <item name="android:textColor">#FF0000</item>3 </style>

  其中,第2種方式可以無限串連子style實現多層繼承。

1 <style name="CodeFont.Red.Big">2     <item name="android:textSize">30sp</item>3 </style>

  

  相對第1種,Android對第2種方式做出的限制就是引用的style必須是由自己定義的,或者說父style和子style必須是定義在同一個程式內,不能引用第三方或系統的style。畢竟對於系統的style的引用是需要加上android:首碼作為命名空間。其次在使用style時,對於第2種方式定義的style,必須引用其完全的名字,也就是說必須要包含完整的首碼和名字:

1 <EditText2     style="@style/CodeFont.Red.Big"3     ... />

  Android對於第1種定義方式並沒有限制,所以所有以第2種方式定義的style都可以轉成第1種:

1 <style name="Big" parent="CodeFont.Red">2     <item name="android:textSize">30sp</item>3 </style>

  

  當使用parent指定父style後,首碼方式則不再起作用,只是作為style的名字。也就是說,Android的style不支援多繼承,只能一層一層地繼承。

  

  參考資料

  Style在Android中的繼承關係

  

  

  

.

  

Android style 繼承

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.