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>
更多相关文章
- Android中Broadcast的Intent大全
- android访问I2C接口
- android 打开新浪微博代码
- Android(安卓)系统是否要重启时弹出框
- android MediaPlayer 错误代码(error code)总结
- Android中两个控件滑动效果冲突的解决办法
- 【Android开发学习43】OpenGL ES教程VI之纹理贴图(原文对照)
- android三种载入图片方式
- android实现应用程序无图标(快捷方式)问题