我是否需要在AndroidManifest.xml中为每个活动指定主题

时间:2013-10-18 14:37:01

标签: android android-layout android-manifest android-styles

如果我已为应用程序指定了我的主题,例如:

    <application
    android:name="main_application.GlobalObjects"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

我是否需要再次为清单文件中定义的每个活动指定主题,如下所示:

<activity
        android:name="main_application.MainActivity"
        android:label="@string/app_name" >
        android:theme="@style/AppTheme" >
    </activity>

或者,当我将应用程序主题用于单个活动时,我是否只需要这样做?

4 个答案:

答案 0 :(得分:4)

Do I then need to specify the Theme again for each activity defined in the manifest file like so

不,一旦为应用程序定义了Theme并将其应用于清单<application>标记,就无需再次为每个Theme指定Activity

但是如果你想为每个活动设置不同的主题,那么在这种情况下你可以为每个活动定义不同的主题。

答案 1 :(得分:3)

  

然后我是否需要为清单文件中定义的每个活动再次指定主题,如此

没有。如果您需要针对特定​​Theme的特定Activity,则可以在Activity上进行设置。否则只需在<application>

上设置它

Activity and Application Themes

答案 2 :(得分:2)

如果要在整个应用程序中使用相同的主题,那么在清单中的应用程序标记中设置主题就足够了。例如,代码的这一部分

<application
    android:name="main_application.GlobalObjects"
    android:allowBackup="true"
    android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

但是如果你想在不同的活动中使用不同的主题,那么你必须像代码一样指定主题

<activity
   android:name="main_application.MainActivity"
   android:label="@string/app_name" 
   android:theme="@style/ThemeForThisActivity" /> 

答案 3 :(得分:0)

如果您的每项活动都需要不同的主题,那么YES。 如果您的应用需要相同的主题,那么NO。