什么是主题,我怎么知道我是否有#34;正确"一个?

时间:2016-12-02 19:49:54

标签: android android-studio

在我当前的项目中,当我在Android Studio 2.2.2中针对特定布局选择“设计”选项卡时,我收到错误消息

  

缺少样式。是否为此布局选择了正确的主题?

然后继续说

  

找不到样式

但是,实际布局在Designer中和运行时呈现OK。

还有很多其他的S.O.这方面的帖子,例如herehere,大多数答案似乎涉及清除缓存并重新启动Android Studio,或者从下拉菜单中选择其他主题。我尝试了第一个,但它没有帮助。我还没有尝试过第二个,因为我不太了解主题是什么。

问题:

  1. 错误意味着主题本身存在错误。什么 那个?主题文件是我项目的一部分,即它是一个 我应该创建,编辑,并构建和发送 作为我的APK的一部分还是仅用于开发人员IDE?
  2. 如果我从下拉列表中选择不同的主题,我该怎么知道 "正确"一个是?
  3. 由于我的项目构建并运行正常,我可以忽略这些 错误?换句话说,这些错误在我的代码中或只是一个 开发环境有问题吗?
  4. 修改:回复评论后的一些其他信息,如下所示:

    字符串'主题'唯一的地方我的清单中使用的是

      android:theme="@style/Theme.FullScreen"
    

    ...而FullScreen是下拉列表中指定的主题。

    我在我的项目中搜索了字符串" textEditSuggestionItemLayout"并且Android Studio没有发现它。

2 个答案:

答案 0 :(得分:0)

如果您最近更新了AS或其任何组件,请尝试使缓存无效&重新启动'

否则,请尝试从“设计”选项卡中选择AppTheme,或将其从默认值更改为AppTheme。在styles.xml中选择符合您的父应用主题的那个。

错误的原因可能是从IDE故障到选择styles.xml中未提及的主题(最有可能)。

答案 1 :(得分:0)

您可以在项目范围内搜索textEditSuggestionItemlayout或其声称错过的其他样式。

这些文件可以在您自己的res/values/styles.xml和/或res/values/themes.xml文件中,也可以在SDK中提供,这就是为什么您会看到一些建议取消选中'自动选择Best' 并选择您已安装的版本。在某些情况下,最新的API版本的渲染工具无法正常工作。

例如,如果您的样式设置为Theme.Holo,但是您使用的是AppCompatActivity,则会出现渲染错误,您必须使用Theme.AppCompat (或后代)。这些主题可以从设计编辑器的下拉列表中更改。

您可以在AndroidManifest.xml内查看适用于您的活动的主题/样式。

res/values/styles.xml

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

AndroidManifest.xml

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

注意:android:theme=@style/

如果您仍然缺少主题,那么您可能会遗漏某些依赖项,例如

compile 'com.android.support:design:<your_version_here>' 

如果您的代码运行正常,那么请务必忽略它,但我认为让布局设计师再次工作不应该被忽略。