2016-09-22 7 views
1

Wenn einige Alpha meiner Toolbar Hintergrundfarbe addieren, merke ich es einen Hintergrund auf den Titel des Textview angelegt ist:Text Hintergrund Ausgabe auf Toolbar

Toolbar title background

Hier ist mein Layout:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:background="#0099cc"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:theme="@style/FullscreenActionBarStyle" 
     app:titleTextAppearance="@style/ActionBarTitle"/> 

    <ImageView 
     android:id="@+id/fullscreen_content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:src="@drawable/image"/> 

</FrameLayout> 

Und mein styles.xml:

<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 

     <item name="android:windowActionBar">false</item> 
     <item name="windowActionBar">false</item> 
    </style> 

    <style name="FullscreenTheme" parent="AppTheme"> 
     <item name="android:windowBackground">@null</item> 
     <item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item> 
     <item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item> 

     <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item> 
     <item name="android:windowActionBarOverlay">true</item> 
     <!--For compatibility--> 
     <item name="actionBarStyle">@style/FullscreenActionBarStyle</item> 
     <item name="windowActionBarOverlay">true</item> 
    </style> 

    <style name="FullscreenActionBarStyle" parent="Widget.AppCompat.ActionBar"> 
     <item name="background">@color/black_overlay</item> 
     <item name="android:background">@color/black_overlay</item> 
    </style> 

    <style name="ActionBarTitle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title"> 
     <item name="android:textSize">50sp</item> 
    </style> 
</resources> 

"black_overlay" Farbwert #66000000

I AppCompat und Support-Bibliotheken v24.2.1 verwenden.

Haben Sie eine Idee, wie Sie diesen Texthintergrund loswerden können?

Prost.

Antwort

-1

Verkapseln Sie eine TextView in der Symbolleiste und legen Sie den Wert fest.

<android.support.v7.widget.Toolbar 
     ...> 
     <TextView ... /> 
</android.support.v7.widget.Toolbar> 
+0

Nun, es ist ein Hacky Problem zu umgehen, und nicht die beste Lösung: D – riot

+0

Wenn dies für Sie - bitte die Antwort als die gewählten Lösung auswählen, um offiziell die Frage auf Stackoverflow zu schließen. Ein kleiner Einblick, warum dies geschieht: Beachten Sie, dass die Toolbar eine ViewGroup mit mehreren untergeordneten Layouts und anderen Ansichten ist. Die Eigenschaften, die Sie für die ViewGroup ändern, werden immer von den untergeordneten Elementen übernommen. – apelsoczi

+1

@apelsoczi es ist nur ein Workaround – TeeTracker

0

Ordnung, die Hintergrundeigenschaften auf dem FullscreenActionBarStyle Stil herausnehmen und in der Symbolleiste Layout-Definition setzen, damit es funktioniert. Wie @apelsoczi darauf hingewiesen hat, werden diese Eigenschaften im Symbolleistenstil auch auf untergeordnete Komponenten angewendet.

4

Wie Sie im folgenden sehen können issue, kommt das Problem von dem Attribut app:theme. Es wird auf jede Ansicht angewendet, die eine Ansichtsgruppe aufbläht. ersetzen app:theme durch style:

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    style="@style/FullscreenActionBarStyle" 
    app:titleTextAppearance="@style/ActionBarTitle"/> 
+0

perfekt, und die coole Sache ist, dass Sie das 'app: theme' zur gleichen Zeit verwenden und stellen Sie alle Eigenschaften, die Sie außer für den Hintergrund behalten Sie es in' style' –