我需要帮助。我已到达那个我尝试了很多东西的地方:
A)有学习障碍。 B)我做了一些根本错误的事情。
我有一个应用程序,主要活动没有标题栏和一堆其他活动与自定义标题栏。在Android 2.3.3上,一切正常。在最新版本的Android(4.2)上,我得到了这个:
cannot combine custom titles with other title features
我正在添加我的自定义标题栏:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_about_us);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title);
TextView title = (TextView) findViewById(R.id.title);
title.setText(R.string.title_activity_about_us);
title.setGravity(Gravity.CENTER);
title.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);
}
我正在禁用主屏幕上的标题栏,如下所示:
<style name="MainTableTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
</style>
我调查了ActionBarSherlock,但这看起来似乎很简单。我还尝试了基于阅读20多个stackoverflow帖子的“隐藏”栏的各种方法。底线是它似乎只是平坦不喜欢设置自定义标题栏。
我想要做的就是有一个没有TITLE BAR的主要活动和一些其他活动WITH TITLE BAR,有一些简单的东西设置,如背景颜色和文字。我该怎么做才能在2.3.3及以上版本上运行?我很好地掌握了我所拥有的一切 - 我只需要一些有用的东西。
帮助......我.....
答案 0 :(得分:0)
将<item name="android:windowNoTitle">true</item>
更改为<item name="android:windowNoTitle">false</item>
(因为您需要标题栏)并确保AppBaseTheme
继承.NoActionBar
- 风格Holo
主题(例如, Theme.Holo.NoActionBar
),至少在API Level 11+上。因此,例如,使用您的onCreate()
和此主题,它可以运作:
<style name="MainTableTheme" parent="android:Theme.Holo.NoActionBar">
<item name="android:windowNoTitle">false</item>
</style>
答案 1 :(得分:0)
我永远无法弄清楚主要问题所以我最终创建了一个自定义布局,然后将其包含在每个主要布局中。
自定义布局(window_title.xml):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear_layout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="35dip"
android:gravity="center_horizontal"
android:paddingLeft="5dip"
android:background="#fab41e"
android:layout_alignParentTop="true">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
android:paddingRight="5dip"
android:typeface="sans"
android:textStyle="bold"
style="@style/OverlayText"/>
</LinearLayout>
我如何将其包含在每个Activity
布局中,而无需复制XML:
<include layout="@layout/window_title" />
这解决了整个运行时异常问题,我可以根据需要在每个Activity
中对其进行修改。