Create custom titlebar in Android

2020-02-04 20:28发布

问题:

I created a custom title bar for my application but I am having some problems implementing it. I want to change the color and the appearance for the text and title bar

The layout of the styles.xml is as below:

<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="MyTheme">
    <item name="android:tabWidgetStyle">@style/LightTabWidget</item>


</style>
<style name="MyWindowTitleBackground" parent="@android:style/WindowTitleBackground">
    <item name="android:background">@android:drawable/title_bar</item>

</style>

<style name="MyWindowTitle" parent="@android:style/WindowTitle">
    <item name="android:singleLine">true</item>
    <item name="android:windowTitleSize">40dip</item>
    <item name="android:textAppearance">@style/MyTextAppearance</item>
    <item name="android:shadowColor">#BB000000</item>
    <item name="android:shadowRadius">2.75</item>
</style>
 <style name="MyTextAppearance" parent="@android:style/TextAppearance.WindowTitle">
    <item name="android:textColor">#3A6629</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textStyle">bold</item>
</style>

<style name="LightTabWidget" parent="@android:style/Widget.TabWidget">

    <item name="android:textSize">20px</item>
    <item name="android:textStyle">bold</item>

    <item name="android:textColor">#FF5721</item>
</style>
</resources>

And I have added that theme in the manifest file as follows:

 <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Light">
   <activity android:name="LAFoodBankAboutUs" android:label="@string/app_name" android:theme="@style/MyTheme">

What do I have to do to show the custom title bar?

回答1:

By now (after some years), the Toolbar is available. It features a lot of customization possibilities and is also available via the Support Library