在Android Studio中更改项目主题?

43

我创建了一些使用浅色主题的项目,现在我想将它更改为深色主题,但我不知道如何做到。顺便说一句,我不是在问如何在代码中实现,只是如何更改项目的默认主题。

3个回答

37
在AndroidManifest.xml文件中,在应用程序标记下,您可以设置所需的主题。要自定义主题,请在Android清单文件中android:theme="@style/AppTheme"上按Ctrl + 单击。这将打开styles.xml文件,在其中您可以更改样式标记的父属性。
styles.xml中的parent=位置,您可以使用""内的自动完成浏览所有可用的样式。例如,请尝试将光标放置在.后面并使用parent="Theme.",然后按Ctrl + Space
您也可以在Android Studio的预览窗口中预览主题。 enter image description here

2
在 Ctrl + 单击主题后,我会进入 styles.xml,然后我会看到 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">。Theme.AppCompat.Light.DarkActionBar 是红色的,找不到: "无法解析符号 'Theme.AppCompat.Light.DarkActionBar'"。应该放什么? - ioan ghip
1
你使用的是哪个版本的Studio? - Piyush Agarwal
我正在使用Android Studio 0.4.4。我创建了另一个带有Holo黑色主题的项目,现在我有了<style name="AppTheme" parent="Theme.AppCompat">。但是Theme.AppCompat仍然是红色的,无法解决。 - ioan ghip
我会接受你的答案,因为在styles.xml中进行更改可以改变主题。现在为什么无法解析主题名称,这是另一个问题。 - ioan ghip
1
谢谢。问题可能是您清单文件中的最小SDK版本。如果您不支持较低的API,请尝试增加API级别。 - Shahzeb
@Shahzeb 如何设置Android Studio,使得新项目始终以预定义的主题打开。 - Kasun Siyambalapitiya

15
注意:此答案现已过时。正如@imjohnking和@john-ktejik指出的那样,这只在“预览”中更改主题。如@Shahzeb所提到的,在res>values>styles中可以修改主题。 Android Studio 0.8.2提供了一种稍微简单的方法来更改主题。在预览窗口中,您可以通过单击手机上方的主题组合框来选择"Holo.Light.DarkActionBar"主题。或者在Android清单文件中对@style/AppTheme进行ctrl + click。它将打开styles.xml文件,您可以在其中更改样式标记的父属性。
- Theme.Holo用于“暗色”主题。 - Theme.Holo.Light用于“亮色”主题。
使用Support Library时,必须使用Theme.AppCompat主题:
- Theme.AppCompat用于“暗色”主题。 - Theme.AppCompat.Light用于“亮色”主题。 - Theme.AppCompat.Light.DarkActionBar用于带有深色操作栏的轻松主题。

源代码http://forums.udacity.com/questions/100200635/choosing-theme-in-android-studio-08x


13
在Android 1.1.0中,这似乎只是更改“预览”中的主题。它没有用新主题更新实际的styles.xml文件。当应用程序推送到设备时,它仍然使用styles.xml文件中的任何主题。我想知道在Android Studio版本之间是否有所更改,或者这总是这种情况? - imjohnking
这里只是更改预览,没有任何翻译内容。 - john k

5
在清单文件中,可以使用样式名称(AppTheme和myDialog)设置主题风格。您可以在styles.xml中设置新的样式。
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MyActivity2"
        android:label="@string/title_activity_my_activity2"
        android:theme="@style/myDialog"
        >
    </activity>
</application>
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Black">
    <!-- Customize your theme here. -->
</style>

<style name="myDialog" parent="android:Theme.Dialog">

</style>

在父元素中,实际上是设置主题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接