我似乎无法通过这个错误:
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>
Run Code Online (Sandbox Code Playgroud)
我的活动是做以下事情:
@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);
...
Run Code Online (Sandbox Code Playgroud)
在哪里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>
Run Code Online (Sandbox Code Playgroud)
当它似乎适合其他人时,为什么这不起作用?
这种错误会让你感到精神错乱.
所以我碰巧Theme.Holo用作我的父主题.(我自己的主题延伸的主题)
文件说:
...操作栏包含在使用Theme.Holo主题(或其后代之一)的所有活动中,当targetSdkVersion或minSdkVersion属性设置为"11"或更高时,这是默认主题.
http://developer.android.com/guide/topics/ui/actionbar.html#Adding(第一段)
好的,所以当我尝试完成上面的过程(我的问题)时,我收到错误:
您无法将自定义标题与其他标题功能组合使用
好吧,那是因为默认情况下已经设置了操作栏,它也不允许你使用自定义标题栏.
文档显示"每个活动包括操作栏":
这样,当应用程序在Android 3.0或更高版本上运行时,系统会将全息主题应用于每个活动,因此,每个活动都包含操作栏.
所以,我现在将时间集中在改变动作栏而不是标题栏!
| 归档时间: |
|
| 查看次数: |
5964 次 |
| 最近记录: |