2016-02-11 73 views
3

我剛開始使用Navigation Drawer創建新的Android項目。查看清單我發現有兩個android:主題。一個內部應用程序標籤和一個內部活動。我的問題是,如何在一個應用程序中擁有多個主題,並且我的應用程序正在使用一個主題。Android清單應用程序:主題

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.matija.ttestzbrisi"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

styles.xml

<resources> 

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> 

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

回答

1

<application>元素的android:theme設置了所有的活動的默認主題。單獨的活動可以通過在其<activity>元素中擁有自己的android:theme屬性來覆蓋此默認設置。

怎麼來的,我可以有一個應用程序

並非所有的活動內的多個主題將具有相同的主題。例如,一些可能使用操作欄,而其他則不可以。或者,大多數可能是全屏活動,但其他可能主題更像是對話框,而不是全屏。

+0

所以基本上在我的活動我重寫我的應用程序主題,並在該主題我設置這兩個屬性 false true Rattleogic

1

該應用程序的主題將是整個應用程序的通用,這是非常明顯的。但是android爲您提供了爲您的活動單獨設置主題的功能。例如,在您的應用程序中,您的MainActivity沒有ActionBar。但是你可以在你的應用程序中創建新的活動,這些活動可能有一個帶有Light或Dark主題的ActionBar,或者你選擇的任何自定義主題。

我希望這能回答你的問題。

0

您可以使用他們的<activity>元素中的android:theme屬性自定義主題活動。如果不提供任何主題,它將爲該活動使用應用程序明智的主題。

希望它能清除更多。