Theme可以用来整合Style制定
Theme设置文件安排于Style.xml预加载的主题样式
Style.xml文件中预设置的主题范例:
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 基础应用程序主题,为默认主题 --> <style name="Theme" parent="android:Theme"></style> <!-- 更改应用程序的主题,使之具有translucent后台 --> <style name="Theme.Translucent"> <item name="android:windowBackground">@drawable/translucent_background</item> <item name="android:windowNoTitle">false</item> <item name="android:colorForeground">@drawable/blue</item> <item name="android:colorBackground">@drawable/white</item> </style> <!-- 更改应用程序的主题,使之具有不同颜色后台且具有translucent后台 --> <style name="Theme.Translucent2"> <item name="android:windowBackground">@drawable/pink</item> <item name="android:windowNoTitle">false</item> <item name="android:colorForeground">@drawable/darkgreen</item> <item name="android:colorBackground">@drawable/pink</item> </style> <!-- 更改应用程序的主题,使之具有透明transparent后台 --> <style name="Theme.Transparent"> <item name="android:windowBackground">@drawable/transparent_background</item> <item name="android:windowNoTitle">false</item> <item name="android:colorForeground">@drawable/blue</item> <item name="android:colorBackground">@drawable/pink</item> </style> <style name="TextAppearance.Theme.PlainText" parent="android:TextAppearance.Theme"> <item name="android:textStyle">normal</item> </style> </resources>
可以在Activity中通过setTheme方法来设置自定义的主题
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTheme(R.style.Theme_Translucent); setContentView(R.layout.activity_theme); }
也可以在AndroidManifest.xml文件中直接定义主题
<activity android:name="com.example.ex_3_21_theme.ThemeActivity" android:label="@string/app_name" android:theme="@style/Theme.Translucent2" >