天天看點

Android Style & Theme簡略總結

##.Style: 

    style是一個特定樣式view的屬性的集合。 一個style可以定義 比如 字型 顔色尺寸 背景等等特定屬性。

##.Theme:

    Theme 是一種應用于整個application,activity或指定Window整個繼承結構的樣式,而不僅僅是用于單個view。當你将style應用為Theme時,application或activity中的每一個view 都會應用它支援的每個style的屬性。Theme還可以将style應用于非視圖元素,例如status bar 和背景。

1.可在布局檔案中,通過為View設定style值來指定其風格:

    style="@style/CommonTextViewStyle"

2.可在AndroidManifest中為Activity、Application設定theme值指定對應Activity或整個應用的風格:

    android:theme="@style/CommonActivityStyle”

   也可以為指定的視窗設定theme,例如為自定義的Dialog的設定theme隻需要在建立時使用帶theme參數的構造函數建立:

    super(mContext, R.style.CommonDialogStyle); 

3.style可在res/values/styles.xml中設定,如下例:

    部分參數對應的區域與效果,如下面的圖中自定義的Activity的style樣式。  

 <style name="CommonActivityStyle" parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>    //狀态欄顔色

        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>    //标題欄顔色

         <item name="colorAccentNormal">@color/colorAccent</item>     //控件未選中時的預設顔色

        <item name="colorAccent">@color/colorAccent</item>    //控件被選中時的顔色

        <item name="android:windowActionBar">false</item>    //是否有ActionBar

        <item name="android:windowNoTitle">true</item>            //是否有标題欄

        <item name="android:windowAnimationStyle">@style/DefaultActivityAnimationStyle</item>    //進入、退出時的動畫

    </style>
           

<!--自定義的Activity開啟關閉動畫(轉場動畫)-->         

<style name="DefaultActivityAnimationStyle" parent="@android:style/Animation.Activity">

    <!--若退出目前Activity A,打開B,則下面兩個分别是B進入時的動畫,和A退出時的動畫-->

    <item name="android:activityOpenEnterAnimation">@anim/common_activity_transition_enter_right_anim</item>

    <item name="android:activityOpenExitAnimation">@anim/common_activity_transition_exit_left_anim</item>

    <!--前面A隐藏後,可能隻是位于背景,還在任務棧中,那麼當退出目前Activity B,重新打開A時,會執行下面兩個動畫-->

    <!--分别是A重新進入的動畫,和B退出時的動畫        -->

    <item name="android:activityCloseEnterAnimation">@anim/common_activity_transition_enter_left_anim</item>

    <item name="android:activityCloseExitAnimation">@anim/common_activity_transition_exit_right_anim</item>

</style>
           
Android Style &amp; Theme簡略總結
Android Style &amp; Theme簡略總結

參考剪藏:

    Android 的style和theme - 簡書

    Android 的Style和theme - 簡書

    Android style & Theme 再探析(一) - 簡書

    Android style & Theme 再探析(二) - 簡書

(聲明:部分圖檔擷取自網絡,這裡隻是用于學習分享,侵删!)