选定的活动模板需要现有的应用主题

时间:2016-06-15 10:24:57

标签: java android android-activity android-library android-studio-2.1

我正在学习Android(使用Android Studio 2.1.1)。

我创建了一个包含应用程序模块“app”和库模块“mylibrary”的项目。

我可以向app模块添加一个基本活动并从主活动中调用它,但是在mylibrary模块上,我只能创建一个“空白”活动。每当我尝试添加“基本活动”时,我都会收到错误:

“所选活动模板需要现有的应用主题”

为什么我不能向库模块添加基本活动?

---编辑----

这只是一个最小的hello-world应用程序,几乎没有我编写的代码,我很困惑为什么Android不允许我向库模块添加活动,因为它适用于app模块。

style.xml

<!-- 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" />

manifest:

<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>
    <activity android:name=".LibMainActivity" />
    <!--
 ATTENTION: This was auto-generated to add Google Play services to your project for
 App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information.
    -->
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <activity
        android:name=".BasicActivity"
        android:label="@string/title_activity_basic"
        android:theme="@style/AppTheme.NoActionBar"></activity>
</application>

1 个答案:

答案 0 :(得分:2)

试试这个:

在values / styles.xml中

  <style name="AppTheme.Base" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccentRed</item>
  </style>

在v21 / styles.xml

 <style name="AppTheme" parent="AppTheme.Base">
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <item name="android:colorAccent">@color/colorAccentRed</item>
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
</style>

设置应用程序的主题(在AndroidManifest.xml中)

        android:theme="@style/AppTheme"