android 主題元素映射方式

//方式一:代碼直接映射

\alps\frameworks\base\core\java\android\inputmethodservice\InputMethodService.java

@Override public void onCreate() {

mTheme =Resources.selectSystemTheme(mTheme,

               getApplicationInfo().targetSdkVersion,

                android.R.style.Theme_InputMethod,

               android.R.style.Theme_Holo_InputMethod,

               android.R.style.Theme_DeviceDefault_InputMethod);

super.setTheme(mTheme);

}

 

void initViews() {

mThemeAttrs =obtainStyledAttributes(android.R.styleable.InputMethodService);

mFullscreenArea.setBackgroundDrawable(mThemeAttrs.getDrawable(

                       com.android.internal.R.styleable.InputMethodService_imeFullscreenBackground));

}

 

\alps\frameworks\base\core\res\res\values-large\themes.xml

   <!-- Default theme for input methods (on API level 10 and lower),which is used by the

        {@linkandroid.inputmethodservice.InputMethodService} class.

        this inherits from Theme.Panel, but sets up IME appropriate animations

        and a few custom attributes. -->

    <stylename="Theme.InputMethod" parent="Theme.Panel">

       <itemname="android:windowAnimationStyle">@android:style/Animation.InputMethod</item>

       <item name="android:imeFullscreenBackground">@android:drawable/input_method_fullscreen_background</item>

       <itemname="android:imeExtractEnterAnimation">@android:anim/input_method_extract_enter</item>

       <itemname="android:imeExtractExitAnimation">@android:anim/input_method_extract_exit</item>

 

   <style name="Theme.Panel">

       <itemname="android:windowBackground">@android:color/transparent</item>

       <itemname="android:colorBackgroundCacheHint">@null</item>

       <item name="android:windowFrame">@null</item>

   </style>

 

\alps\frameworks\base\core\res\res\values\Attrs.xml

   <declare-styleable name="InputMethodService">

       <!-- Background to use for entire input method when it is being

            shown in fullscreen mode with the extract view, to ensure

            that it completely covers the application.  This allows,

            for example, the candidate view to be hidden

            while in fullscreen mode without having the application show through

            behind it.-->

       <attr name="imeFullscreenBackground" format="reference|color"/>

       <!-- Animation to use when showing the fullscreen extract UI after

            it had previously been hidden. -->

       <attr name="imeExtractEnterAnimation"format="reference" />

       <!-- Animation to use when hiding the fullscreen extract UI after

            it had previously been shown. -->

       <attr name="imeExtractExitAnimation"format="reference" />

   </declare-styleable>

 

\alps\frameworks\base\core\res\res\values\colors.xml

</style><drawable name="input_method_fullscreen_background">#fff9f9f9</drawable>

 

//方式二:資源映射:

\alps\mediatek\custom\k10\resource_overlay\generic_WIFIONLY\packages\apps\Contacts\AndroidManifest.xml

       <activity android:name=".activities.PeopleActivity"

           android:label="@string/people"

           android:theme="@style/PeopleTheme"

           android:uiOptions="splitActionBarWhenNarrow"

           android:clearTaskOnLaunch="true"

           android:launchMode="singleTop"

       >

 

\alps\mediatek\custom\k10\resource_overlay\generic\packages\apps\Contacts\res\values-sw600dp\styles.xml

   <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">

       <itemname="android:actionBarStyle">@style/ContactsActionBarStyle</item>

       <itemname="android:actionBarItemBackground">@drawable/action_bar_item_background</item>

       <itemname="android:actionBarWidgetTheme">@style/ContactsActionBarTheme</item>

</style>

 

\alps\frameworks\base\core\res\res\values\ themes.xml

   <!-- Variant of the holographic (light) theme that has a solid(opaque) action bar

        with an inverse color profile. The dark action bar sharply stands outagainst

        the light content. -->

<stylename="Theme.Holo.Light.DarkActionBar">

        <itemname="android:windowContentOverlay">@android:drawable/ab_solid_shadow_holo</item>

        <itemname="android:actionBarStyle">@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse</item>

        <itemname="actionBarWidgetTheme">@android:style/Theme.Holo</item>

</style>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章