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 获取电池基本信息代码
- android实现应用程序无图标(快捷方式)问题
- android三种载入图片方式
- android 打开新浪微博代码
- Android 中如何自己通过代码绘图
- android 使用代码实现 RelativeLayout布局
- android 亮屏及屏幕解锁代码
- Android屏蔽home键的代码,咋摁也不响应的方法