標籤:
一、Android中的樣式和主題
1、1樣式
樣式是作用在控制項上的,它是一個包含一個或者多個view控制項屬性的集合。android style類似網頁設計中的css設計思路,可以讓設計和內容分離,方便繼承、複用、重用
下面通過一個簡單的案例示範自訂樣式的用法,在該案例中,我們自訂一個樣式,用於渲染Button控制項的顯示效果
在res/values/styles.xml檔案中添加
<style name="bt_style_1"> <item name="android:layout_height">wrap_content</item> <item name="android:layout_width">match_parent</item> <item name="android:textSize">20sp</item> <item name="android:textColor">#00ff00</item> <item name="android:text">自訂樣式1</item> </style> <!-- 繼承上面的樣式,如果屬性相同就覆蓋 --> <style name="bt_style_2" parent="bt_style_1"> <item name="android:textSize">30sp</item> <item name="android:text">自訂樣式2</item> </style>
在res/layout下的布局檔案中,添加兩個button
<Button style="@style/bt_style_1" /> <Button style="@style/bt_style_2" />
結果顯示
2、2主題
主題的定義和樣式相同,都是在styles.xml檔案下,均可以通過設定parent屬性來繼承一個父樣式,不同的是,主題總用在Activity上的
主題通過定義在AndroidManifest.xml檔案中的的和節點下的”android:theme”屬性作用在整個應用或者某個Activity,主題對整個應用或某個Activity 進行全域性影響。如果一個應用使用了主題,同時應用下的view 也使用了樣式,
那麼當主題和樣式屬性發生衝突時,樣式的優先順序高於主題。
android系統也定義了一些主題,如果需要查閱,可以在文檔的reference/android/R.style中查看。
繼續使用上面樣式中修改過的styles.xml檔案,在其中添加如下樣式
<!--主題也是通過在styles.xml 檔案中定義<style>節點來定義。同樣式一樣,指定一個全域唯一的名字給主題,通過parent 屬性繼承父樣式。--><style name="theme_noTitle"><!-- 該屬性使介面無標題--><item name="android:windowNoTitle">true</item></style><!-- 該屬性使介面全屏--><style name="them_noTitle_full" parent="theme_noTitle"><item name="android:windowFullscreen">true</item></style>
在AndroidManifest.xml檔案中添加
<!-- 在application 中引入主題則所有activity 都適用--><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/theme_noTitle" ><!-- 在activity 中引入主題則當前Activity 適用--><activityandroid:theme="@style/them_noTitle_full"android:name="com.example.styleAndTheme.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" />
二、Android實現國際化
android程式國際化,也就是程式可以根據系統所使用的語言,將介面中的文字翻譯成與之對象的語言。這樣,可以讓程式更加通用,android可以通過資源檔非常方便的實現程式的國際化
在編寫Android 項目時,通常都是將程式中要使用的字串資源放置在res/values 目錄下的strings.xml 檔案中,為了給這些字串資源實現國際化,可以在Android 項目的res 目錄下,建立對應於各個語言的資源檔夾(例如,了讓程式相容簡體中文、繁體中文和美式英文,可以分別建立名稱為values-zh-rCN、values-zh-rTW 和values-en-rUS的檔案夾),然後在每個檔案夾中建立一個對應的strings.xml 檔案,並在該檔案中定義對應語言的字串即可。樣,當程式運行時,就會自動根據作業系統所使用的語言來顯示對應的字串資訊了。圖片也可以進行國際化,同字串的國際化類似,只需根據程式要相容的語言版本,分別建立名稱類似drawable-zh-rCN,drawable-zh-rTW 這的檔案夾,將圖片資源存放在檔案夾下即可。
android中的樣式主題和國際化