android中的樣式主題和國際化

來源:互聯網
上載者:User

標籤:

一、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中的樣式主題和國際化

聯繫我們

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