編輯:關於Android編程
User Interface(以下簡稱UI)是任何可以向用戶展示、與用戶交互的圖形界面。Android提供了大量預定義的UI組件( a variety of pre-built UI components),比如Layout資源,除此之外,Android還提供了特殊的UI模型,如dialogs、notifications、menus 等。
一個Style資源是一組屬性的集合,用於指定一個View或一個Window的樣子和格式(A style is a collection of properties that specify the look and format for a View or window. A style can specify properties ),比如高度、內邊距、字體顏色、字體大小、背景顏色 等( such as height, padding, font color, font size, background color, and much more)。Style資源在XML資源中定義,以區分layout資源。
具有相同或相似外觀的UI控件可以共享同一個Style資源,如下所示:
將上述TextView中某些屬性抽取出來,定義在style資源中,並給該資源起名為CodeFont,這樣其他TextView也可以應用該資源,這些TextView的風格將保持一致。
theme 資源是一種特殊的style資源,只不過theme資源作用於整個Activity或Application上,而不是View或Window上(A theme is a style applied to an entire Activity or application, rather than an individual View)。將一個style作為theme資源作用在Activity或Application上,實際上是作用在了activity或application中的所有控件上。比如說,若將style資源CodeFont作為theme資源作用在了 Activity上,那麼這個activity中的所有控件都將具有綠色(#00FF00)以及等寬字體(monospace font)。
style應定義在res/values/目錄下的XML文件中,文件名任意(The name of the XML file is arbitrary)。在文件中
必須作為style資源的根標簽。根標簽內部包含您需要自定義的style資源,以
您可以在其他位置以@style/CodeFont的形式引用該style資源。
如果您需要繼承自定義的style資源,那麼無需使用
屬性。只需要在新定義的style資源的name屬性中將被繼承的style資源名作為前綴,並以” . “分隔即可:
例如,現在要繼承自定義的CodeFont style,新的自定義style名字為Red,那麼只需命名為:CodeFont.Red即可。並在其他位置以@style/CodeFont.Red的方式引用。
如果需要繼續繼承上述style,那麼name也只需以鏈式的方式書寫即可:
!請注意:這種鏈式地style繼承方式只適用於繼承您自定義的style資源,如需繼承Android自帶的style資源,仍需使用
屬性。
標簽用於指定自定義的屬性。您可以指定類似於layout_width
、textColor
這樣的屬性。可以通過具體的View所具有的屬性來定義。在代碼中可以通過 R.attr來獲取這些屬性值。如果您引用的style中包含了不支持該控件的屬性,那麼這些屬性將被忽略。
某些特殊的屬性不被任何View支持,只能應用在theme中。也就是說,這些屬性只被Activity或Application支持。比如有的屬性用於確定是否隱藏應用的標題、是否隱藏狀態欄或者修改window的背景色 等。這些屬性並不屬於任何View,它們有一個共同的特點,就是名字以window開頭。比如:windowNoTitle 和 windowBackground 屬性。
應用style的方式有兩種:
對於View來說,只需使用
!請注意:由於android:windowBackground屬性的值只支持引用類型,並不接受字面值,所以寫法如上所示。
下面只需將該定制的主題應用到activity上即可:
新的Android版本增加了一些系統主題,為了讓這些主題也能應用在舊的Android版本中,應當在目錄中使用不同後綴的文件夾做以區分,比如:android:Theme.Holo.Light是在Android 3.0之後新增的主題,那麼您需要定制一個繼承了該主題的theme,並把該主題放在res/values-v11/styles.xml中:
再在默認的目錄中( res/values/styles.xml)定義如下主題:
<style name="LightThemeSelector" parent="android:Theme.Light"> ...</style>
因為android:Theme.Light主題在Android 3.0之前也支持,所以當設備版本小於3.0時,將加載該主題。
通過R.styleable.Theme可獲取該主題的所有屬性集合。
下面的步驟將介紹如何在Android Studio中為jar庫綁定源碼!!! 1. 在build.gradle中添加jar依賴: dependencies {
Android小項目藍牙電子鐘 請支持原創,尊重原創,轉載請注明出處:http://blog.csdn.net/kangweijian(來自kangweijian的c
最近的一些學習心得:功能實現:點擊圓形頭像之後可以實現相冊上傳或者開啟相機,然後把得到的圖片經過剪裁,把剪裁過的圖片設置為頭像的背景圖步驟:第一步:自定義一個類,繼承Im
第一次使用nodejs+ionic+cordova+intellijIdea搭建webApp開發環境,由於nodejs、ionic、cordova、andriod都是第一