您无法将自定义标题与其他标题功能结合使用

时间:2018-11-26 12:16:40

标签: android titlebar

我正在使用Android Studio 3.2和Android API 23开发该应用程序,当我尝试设置自定义标题栏时会显示错误You cannot combine custom titles with other title features。 我在错误中搜索了错误并尝试了一些答案,但是我无法解决问题。 代码如下,

manifest代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.shashiwang.shashiapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity" android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

样式:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="windowNoTitle">true</item>
        <!--<item name="windowActionBar">false</item>-->
    </style>


    <style name="TitleBarLayout" >
        <item name="android:background">@color/colorTitleBarBg</item>
        <item name="android:layout_height">@dimen/title_bar_height</item>
        <item name="android:layout_width">match_parent</item>
    </style>

    <style name="TitleBarTitle">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:color">@color/colorTitleBarTitle</item>
        <item name="android:layout_centerHorizontal">true</item>
        <item name="android:layout_centerVertical">true</item>
        <item name="android:text">@string/app_name</item>
        <item name="android:textSize">@dimen/title_bar_title_font_size</item>
        <item name="android:textStyle">bold</item>
    </style>

    <style name="TitleBarContactLayout">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:orientation">vertical</item>
        <item name="android:layout_alignParentRight">true</item>
        <item name="android:layout_centerHorizontal">true</item>
        <item name="android:layout_centerVertical">true</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_marginRight">10dp</item>
    </style>

    <style name="TitleBarContactIcon">
        <item name="android:layout_width">@dimen/title_bar_contact_icon_width</item>
        <item name="android:layout_height">@dimen/title_bar_contact_icon_height</item>
        <item name="android:src">@drawable/ic_contact</item>
    </style>

    <style name="TitleBarContactText">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:text">@string/title_bar_contact_text</item>
        <item name="android:textSize">@dimen/title_bar_contact_font_size</item>

        <item name="android:textStyle">bold</item>
    </style>

</resources>

布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/titleBarContainer"
    style="@style/TitleBarLayout">
    <TextView
        android:id="@+id/TitleBarTitle"
        style="@style/TitleBarTitle" />

    <LinearLayout
        android:id="@+id/TitleBarContactContainer"
        style="@style/TitleBarContactLayout">

        <ImageView
            android:id="@+id/titleBarContactIcon"
            style="@style/TitleBarContactIcon" />
        <TextView
            android:id="@+id/TitleBarContactText"
            style="@style/TitleBarContactText" />
    </LinearLayout>
</RelativeLayout>

活动:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

//        requestWindowFeature(Window.FEATURE_NO_TITLE);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

        setContentView(R.layout.activity_main);

        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_bar_layout);
    }

0 个答案:

没有答案