Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 功能自定义标题:无法组合API 11及以上版本的自定义标题_Android_Tabactivity_Titlebar_Android Tabactivity_Custom Titlebar - Fatal编程技术网

Android 功能自定义标题:无法组合API 11及以上版本的自定义标题

Android 功能自定义标题:无法组合API 11及以上版本的自定义标题,android,tabactivity,titlebar,android-tabactivity,custom-titlebar,Android,Tabactivity,Titlebar,Android Tabactivity,Custom Titlebar,我有一个项目,其中我设定了: Minsdk版本设置为10 MainActivity是一个TabActivity onCreate方法中的代码如下所示: super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE

我有一个项目,其中我设定了:

  • Minsdk版本设置为10
  • MainActivity是一个TabActivity
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
我不明白为什么会发生这种情况,只是换了个版本。 我在这个网站上对这个问题做了很多报道。我试着设置:

  • 主布局中的Theme.NoTitleBar以及清单文件中的Theme.NoTitleBar之后
  • 我把这三条线放在所有可能的位置
  • 如果我对第一行进行注释,当我调用CustomTitle布局的TextView引用时,会发生NullPointerException
  • 我尝试在theme.xml文件声明中设置“windowNoTitle”=true
因为我只使用API 11提供的函数,所以我想在商店加载应用程序之前将minSdk设置为11。我该怎么办??我需要帮助

编辑:如果清单中的minSdkVersion=10和Theme.NoTitleBar出现相同错误。卸下它,所有操作与以前一样。
当API为11或以上时,是否有人可以提供用于设置自定义标题的工作代码(清单和活动代码)?太多了

@kinghomer实际上我已经试过在2.2(API 8)上定制它的标题。让我试试API 11,然后再联系你


在此之前,您不需要将Theme.NoTitleBar置于任何位置,可以直接在.java文件中进行控制。给我点时间,我会回来的

由我自己修复。我不知道为什么,但只要在清单文件中为每个活动的声明添加“主题”属性,所有工作:

由此:

<activity
        android:name=".CheckActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
</activity>
android:theme="@style/AppTheme">

res/values-v11定义使用以下代码:

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!-- API 11 theme customizations can go here. -->
</style>

将“android:Theme.Holo.Light”更改为“@android:style/Theme”即可


提示:如果您的项目没有“res/values-v11”,那么请检查您的项目引用的“lib project”。

除了接受的答案之外,还有另一种解决方法:

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


在基于xml的mainifest中为
应用程序
分配一个
主题
属性,该属性应适用于所有活动。

当您尝试通过
ActionBarActivity
AppcomActivity
扩展活动的同时添加自定义标题栏时,会出现此问题。这两个活动类已经定义了标题栏。 因此,当您尝试添加自己的自定义标题栏时,会出现冲突,即使用哪个标题栏—您的自定义标题栏还是扩展活动提供的标题栏

要解决此问题,只需通过
activity
扩展您的活动,它没有任何预定义的标题栏,因此您的活动将被接受,不会产生任何冲突

public void MyActivy extends Activity
{

    // your code

}

我刚刚在
AndroidManifest.xml
文件的
activity
中添加了
android:theme=“@android:style/theme”
,效果非常好

<activity
        android:name=".MainActivity"
        android:theme="@android:style/Theme" >
</activity>


希望这也适用于您。

在您的
AndroidManifest
文件中,使用此代码段而不是您的代码段

由此:

<activity
        android:name=".CheckActivity"
        android:configChanges="orientation"
        android:screenOrientation="portrait"
</activity>
android:theme="@style/AppTheme">
为此:

android:theme="@style/custom_title">

使用很少使用的标签没有什么用处,例如,任何人都不会跟随标签以外的任何标签值。没有人回答的原因大概是因为你试图做与错误建议完全相反的事情。什么?我的代码有效还是你的?你能发布你的测试代码吗?难以置信!我修好了!我只是在清单文件中每个活动的声明中添加“theme”属性(以前没有)。仍然有同样的问题。但是,只有当我尝试在我的GB手机上运行它时,才会发生这种情况。(在模拟器上运行良好)我支持API级别8-17。这对我很有效。我刚刚将android:theme=“@andriod:style/theme”添加到我的活动中,它成功了。在我的情况下,这是我的蓝牙活动!