欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程應用風格和主題詳解

 更新時間:2016年10月26日 09:30:20   作者:Wallace  
這篇文章主要介紹了Android編程應用風格和主題,較為詳細的分析了Android應用風格和主題的概念、功能、使用方法與注意事項,需要的朋友可以參考下

本文實例講述了Android編程應用風格和主題。分享給大家供大家參考,具體如下:

當你設計你的程序的時候,你可以用風格和主題來統(tǒng)一格式化各種屏幕和UI元素。

風格是一個包含一種或者多種格式化屬性的集合,你可以將其用為一個單位用在布局XML單個元素當中。比如,你可以定義一種風格來定義文本的字號大小和顏色,然后將其用在View元素的一個特定的實例。

主題是一個包含一種或者多種格式化屬性的集合,你可以將其為一個單位用在應用中所有的Activity當中或者應用中的某個Activity當中。比如,你可以定義一個主題,它為window frame和panel 的前景和背景定義了一組顏色,并為菜單定義可文字的大小和顏色屬性,你可以將這個主題應用在你程序當中所有的Activity里。

風格和主題都是資源。你可以用android提供的一些默認的風格和主題資源,你也可以自定義你自己的主題和風格資源。

如何新建自定義的風格和主題:

1.在res/values 目錄下新建一個名叫style.xml的文件。增加一個<resources>根節(jié)點。

2.對每一個風格和主題,給<style>element增加一個全局唯一的名字,也可以選擇增加一個父類屬性。在后邊我們可以用這個名字來應用風格,而父類屬性標識了當前風格是繼承于哪個風格。

3.在<style>元素內部,申明一個或者多個<item>,每一個<item>定義了一個名字屬性,并且在元素內部定義了這個風格的值。

4.你可以應用在其他XML定義的資源。

一、風格

下邊是一個申明風格的實例:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="SpecialText" parent="@style/Text">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#008</item>
</style>
</resources>

如上所示,你可以用<item>元素來為你的風格定義一組格式化的值。在Item當中的名字的屬性可以是一個字符串,一個16進制數所表示的顏色或者是其他資源的引用。

注意在<style>元素中的父類屬性。這個屬性讓你可以能夠定義一個資源,當前風格可以從這個資源當中繼承到值。你可以從任何包含這個風格的資源當中繼承此風格。通常上,你的資源應該一直直接或者間接地繼承Android的標準風格資源。 這樣的話,你就只需要定義你想改變的值。

在這個例子當中的EditText元素,演示了如何引用一個XML布局文件當中定義的風格:

<EditText id="@+id/text1"
style="@style/SpecialText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello, World!" />

現(xiàn)在這個EditText組件的所表現(xiàn)出來的風格就為我們在上邊的XML文件中所定義的那樣。

二、 主題

就像風格一樣,主題依然在<style>元素里邊申明,也是以同樣的方式引用。不同的是你通過在Android Manifest中定義的<application>和<activity>元素將主題添加到整個程序或者某個Activity,但是主題是
不能應用在某一個單獨的View里。

下邊是申明主題的一個例子:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomTheme">
<item name="android:windowNoTitle">true</item>
<item name="windowFrame">@drawable/screen_frame</item>
<item name="windowBackground">@drawable/screen_background_white</item>
<item name="panelForegroundColor">#FF000000</item>
<item name="panelBackgroundColor">#FFFFFFFF</item>
<item name="panelTextColor">?panelForegroundColor</item>
<item name="panelTextSize">14</item>
<item name="menuItemTextColor">?panelTextColor</item>
<item name="menuItemTextSize">?panelTextSize</item>
</style>
</resources>

注意我們用了@符號和?符號來應用資源。@符號表明了我們應用的資源是前邊定義過的(或者在前一個項目中或者在Android 框架中)。問號?表明了我們引用的資源的值在當前的主題當中定義過。通過引用在<item>里邊定義的名字可以做到(panelTextColor 用的顏色和panelForegroundColor中定義的一樣)。這種技巧只能用在XML資源當中。

1. 在manifest當中設置主題

為了在成用當中所有的Activity當中使用主題,你可以打開AndroidManifest.xml 文件,編輯<application>標簽,讓其包含android:theme屬性,值是一個主題的名字,如下:

<application android:theme="@style/CustomTheme">

如果你只是想讓你程序當中的某個Activity擁有這個主題,那么你可以修改<activity>標簽。

Android中提供了幾種內置的資源,有好幾種主題你可以切換而不用自己寫。比如你可以用對話框主題來讓你的Activity看起來像一個對話框。在manifest中定義如下:

<activity android:theme="@android:style/Theme.Dialog">

如果你喜歡一個主題,但是想做一些輕微的改變,你只需要將這個主題添加為父主題。比如我們修改Theme.Dialog主題。我們來繼承Theme.Dialog來生成一個新的主題。

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog">

繼承了Theme.Dialog后,我們可以按照我們的要求來調整主題。我們可以修改在Theme.Dialog中定義的每個item元素的值,然后我們在Android Manifest 文件中使用CustomDialogTheme 而不是Theme.Dialog 。

2. 在程序當中設置主題

如果需要的話,你可以在Activity當中通過使用方法setTheme()來加載一個主題。注意,如果你這么做的話,你應該初始化任何View之前設置主題。比如,在調用setContentView(View) 和inflate(int, ViewGroup)方法前。這保證系統(tǒng)將當前主題應用在所有的UI界面。例子如下:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setTheme(android.R.style.Theme_Light);
setContentView(R.layout.linear_layout_3);
}

如果你打算在程序代碼中來加載主界面的主題,那么需要注意主題當中不能包括任何系統(tǒng)啟動這個Activity所使用的動畫,這些動畫將在程序啟動前顯示。在很多情況下,如果你想將主題應用到你的主界面,在XML中定義似乎是一個更好的辦法。

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android滾動條與滾動操作技巧總結》、《Android圖形與圖像處理技巧總結》、《Android開發(fā)入門與進階教程》、《Android調試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

  • Android鬧鐘設置的解決方案

    Android鬧鐘設置的解決方案

    這篇文章主要為大家詳細介紹了Android鬧鐘設置的解決方案,避免開發(fā)Android設置鬧鐘的坑,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android編程繪圖操作之弧形繪制方法示例

    Android編程繪圖操作之弧形繪制方法示例

    這篇文章主要介紹了Android編程繪圖操作之弧形繪制方法,結合實例形式分析了Android圖形繪制的相關組件調用、屬性設置與功能實現(xiàn)技巧,需要的朋友可以參考下
    2017-08-08
  • Flutter使用?input?chip?標簽組件示例詳解

    Flutter使用?input?chip?標簽組件示例詳解

    這篇文章主要為大家介紹了Flutter使用?input?chip?標簽組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • android 判斷橫豎屏問題的詳解

    android 判斷橫豎屏問題的詳解

    本篇文章是對android中如何判斷橫豎屏的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Android實現(xiàn)動畫效果的自定義下拉菜單功能

    Android實現(xiàn)動畫效果的自定義下拉菜單功能

    這篇文章主要介紹了Android實現(xiàn)動畫效果的自定義下拉菜單功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Android實現(xiàn)基本功能的新聞應用

    Android實現(xiàn)基本功能的新聞應用

    這篇文章主要介紹了一個簡易功能的Android新聞應用實現(xiàn)流程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-12-12
  • Android自定義控件實現(xiàn)滑動開關效果

    Android自定義控件實現(xiàn)滑動開關效果

    這篇文章主要為大家詳細介紹了Android自定義控件實現(xiàn)滑動開關效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 一款不錯的android6.0、7.0權限管理器推薦

    一款不錯的android6.0、7.0權限管理器推薦

    下面小編就為大家分享一篇一款不錯的android6.0、7.0權限管理器推薦,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Android編程實現(xiàn)自定義手勢的方法詳解

    Android編程實現(xiàn)自定義手勢的方法詳解

    這篇文章主要介紹了Android編程實現(xiàn)自定義手勢的方法,結合實例形式分析了Android自定義手勢的功能、相關函數與具體實現(xiàn)步驟,需要的朋友可以參考下
    2016-10-10
  • Android實現(xiàn)3D云標簽效果

    Android實現(xiàn)3D云標簽效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)3D云標簽效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論