我似乎无法克服这个错误:
android.util.AndroidRuntimeException:您无法组合自定义标题 与其他标题功能
我正在运行API> 14。
清单如下:
<activity
android:name=".activity.ActivityWelcome"
android:label="@string/app_label_name"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:theme="@style/My.Theme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我的活动正在执行以下操作:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.welcome);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title_main);
...
R.layout.window_title_main
的位置:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_title"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingLeft="5dp" >
<TextView
android:id="@+id/textview_title"
android:drawableLeft="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:marqueeRepeatLimit="-1"/>
</LinearLayout>
为什么当它似乎适用于其他人时,这不起作用?
答案 0 :(得分:6)
这种错误会让你精神错乱。
所以我碰巧使用Theme.Holo
作为我的父主题。 (我自己的主题延伸的主题)
文档说:
...操作栏包含在使用Theme.Holo的所有活动中 主题(或其后代之一),这是默认主题时 targetSdkVersion或minSdkVersion属性设置为“11” 或更高。
http://developer.android.com/guide/topics/ui/actionbar.html#Adding(第一段)
好的,所以当我尝试完成上面的过程(我的问题)时,我收到错误:
您无法将自定义标题与其他标题功能结合使用
嗯,这是因为,默认情况下,操作栏已经设置,并且它也不允许您使用自定义标题栏。
文档显示“每个活动都包含操作栏”:
这样,当应用程序在Android 3.0或更高版本上运行时, 系统将全息主题应用于每个活动,因此,每个活动 活动包括行动栏。
所以,我现在将时间集中在改变动作栏而不是标题栏上!
答案 1 :(得分:2)
FEATURE_CUSTOM_TITLE
和
<item name="android:windowNoTitle">true</item>
互相排斥。删除
<item name="android:windowNoTitle">true</item>
它会再次运作。
答案 2 :(得分:0)
作为初学者,大多数答案对我的案例没有帮助。所以这是我的答案。
转到android项目中的res / values文件夹并检查strings.xml(此文件可能因您的情况而异,类似于themes.xml)
在资源标记下的文件内部,检查是否有样式标记。如果您没有找到它,请将下面的代码作为子项添加到资源标记
如下所示
<resources>
<style name="SomeNameHere">
<item name="android:windowNoTitle">true</item>
</style>
</resources>
如果您已经有样式标记,只需将下面的代码添加到样式标记
即可 <item name="android:windowNoTitle">true</item>