我需要有两个或更多样式的应用程序(我现在只有两个,但将来将至少十个),我已经解决了样式部分。 但事情是清单,我需要启动相同的活动,但关联的主题不同。
<activity
android:name=".StartActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/DefaultTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter android:icon="@drawable/ic_launcher">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".StartActivity"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name_mc"
android:screenOrientation="portrait"
android:theme="@style/MCTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter android:icon="@drawable/ic_launcher">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
好吧,问题是我得到了重复的错误。
好吧,我知道我不能再进行两次相同的活动(至少这是我得到的例外)。
有解决方法吗? 我需要两个发射器。
问候。
答案 0 :(得分:1)
如果您的活动名为StartActivity,那么您可以使StartActivityWithTheme1扩展StartActivity,StartActivityWithTheme2扩展StartActivity等等。因此,您拥有StartActivity中的所有逻辑。
此外,如果您想要多个启动器活动,请阅读此SO:Two launcher activities
答案 1 :(得分:0)
您可以以编程方式设置主题。请使用此方法 - http://developer.android.com/reference/android/view/ContextThemeWrapper.html#setTheme%28int%29
要在运行时动态设置主题,请在调用setContentView()之前在activity的onCreate()方法中调用setTheme()。