我有一个项目,我设置了:
onCreate方法中的代码是:
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
...
使用以前的设置,一切正常!但是,如果我将minSdkVersion设置为11或更高,则会发生此异常:
android.util.AndroidRuntimeException: You cannot combine custom titles with other title features
我不明白为什么这只是改变minSdkVersion。 我在这个网站上对这个问题大加红了。我尝试过设置:
由于我只使用API 11提供的功能,我想在商店上加载App之前将minSdk设置为11。我能怎么做 ??我需要帮助
编辑:在清单中使用minSdkVersion = 10和Theme.NoTitleBar时,会发生同样的错误。删除它,一切都像以前一样。 当API为11或更高时,任何人都可以提供工作代码(清单和活动代码)来设置自定义标题吗?太多了
答案 0 :(得分:37)
由我自己修复。我不知道为什么,但只是为每个活动的声明添加清单文件“theme”属性,所有工作:
由此:
<activity
android:name=".CheckActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
</activity>
对此:
<activity
android:name=".CheckActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@android:style/Theme" >
</activity>
答案 1 :(得分:3)
@kinghomer我已经在2.2(API 8)上尝试过CUSTOM_TITLE了。让我试试API 11并回复你!</ p>
在此之前,您无需在任何地方制作Theme.NoTitleBar,可以直接在.java文件中进行控制。给我一些时间,会回来的!
答案 2 :(得分:0)
res / values-v11 defalut使用此代码:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</style>
改变&#34; android:Theme.Holo.Light&#34; to&#34; @android:style / Theme&#34;没关系!
提示:如果您的项目没有&#34; res / values-v11&#34;,请检查您引用的项目&#34; lib项目&#34;
答案 3 :(得分:0)
除了接受的答案外,还有另一种解决方法:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/CustomTheme" >
在基于xml的mainifest中为theme
分配application
归因,该归因应适用于所有活动。
答案 4 :(得分:0)
当您尝试添加自定义标题栏以及按ActionBarActivity
或AppcomActivity
扩展活动时,会出现此问题。这两个活动类已经定义了标题栏。
因此,当您尝试添加自己的自定义标题栏时,会出现冲突,使用哪个标题栏 - 您的自定义标题栏或扩展活动提供的标题栏。
要解决此问题,只需将您的活动延长Activity
,该活动没有任何预定义的标题栏,因此您的活动将被接受而不会发生任何冲突。
public void MyActivy extends Activity
{
// your code
}
答案 5 :(得分:0)
我刚刚在android:theme="@android:style/Theme"
文件的activity
中添加了AndroidManifest.xml
,并且效果非常好。
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme" >
</activity>
希望这也适合你。
答案 6 :(得分:0)
在您的AndroidManifest
文件中,使用此代码段代替您的代码段。
从此:
android:theme="@style/AppTheme">
对此:
android:theme="@style/custom_title">