钛金属android自定义主题没有窗口操作栏

时间:2015-02-18 09:59:49

标签: android xml titanium

我有一个使用钛sdk编写的Android应用程序。新的sdk(3.5.0GA)改变了有关管理默认窗口标题和操作栏行为的事情。

official blog offers 3 ways解决此问题(official doc):

第一个解决方案($.index.activity.actionBar.hide();)有一个问题:操作栏在隐藏之前会显示一段时间。那个动画不是我想要的。

如果我能使其有效(customtheme.xml

,第二种解决方案会更好

我的情况如下:

tiapp.xml

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19"/>
    <manifest>
        <uses-permission android:name="android.permission.INTERNET"/>
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <application android:theme="@style/MyTheme"/>
        <application android:hardwareAccelerated="true"/>
        <application android:largeHeap="true"/>
    </manifest>
</android>

/platform/android/res/values/customtheme.xml

<?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="MyTheme" parent="@style/Theme.AppCompat.Light">
        <item name="windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
    </style>
</resources> 

与普通的android工作室项目完成同样的事情,是神奇的。

实际上,我得到的错误是

[ERROR] :  /Users/dariorusignuolo/Desktop/titanium-cocktailsmachine/CM/build/android/AndroidManifest.xml:14: error: Error: No resource found that matches the given name (at 'theme' with value '@style/Theme.AppCompat.Translucent.NoTitleBar.Fullscreen').

在我看来,App compat库缺失了(我已经安装了android支持库v 21.0.3

我不知道如何解决我的问题。有人知道吗?

PS。 没有尝试第三种选择,但只想让第二种选择起作用。更少的代码行...

1 个答案:

答案 0 :(得分:1)

解决我的问题的解决方案是(感谢turle的帮助):

在platform / res / values / MyTheme.xml

<resources>
    <style name="MyTheme" parent="@style/Theme.AppCompat">
        <item name="android:windowNoTitle">true</item>
    </style>

</resources>

并以这种方式通过tiapp.xml编辑清单

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <tool-api-level>14</tool-api-level>
    <manifest>
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14"/>
        <application android:theme="@style/MyTheme"/>
    </manifest> 
</android>

也许你遇到这个问题应该是项目 - &gt;干净,看看主题已被应用

希望这会有所帮助