2016-09-22 3 views
1

При добавлении некоторого альфа к моей панели инструментов цвета фона, я заметил, есть фон применяется к TextView указанным в заголовке в:текста фон вопрос на панели инструментов

Toolbar title background

Вот мой макет:

<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> 

И мой 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" значение цвета #66000000

Я использую AppCompat и библиотеки поддержки v24.2.1.

У вас есть идея, как избавиться от этого текста?

Cheers.

ответ

-1

Инкапсулируйте TextView внутри панели инструментов и установите его значение.

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

Ну, это Hacky обходного путь, и не лучшее решение: D – riot

+0

Если это работает для вас - пожалуйста, выберите ответ, выбранным решением, чтобы официально закрыть вопрос о StackOverflow. Немного о том, почему это происходит: помните, что панель инструментов представляет собой ViewGroup с несколькими дочерними макетами и другими представлениями, свойства, которые вы изменяете для ViewGroup, всегда будут унаследованы детьми. – apelsoczi

+1

@apelsoczi это всего лишь обходное решение – TeeTracker

0

Хорошо, удаляя свойства фона на стиль FullscreenActionBarStyle и положить его в определении расположения панели инструментов заставить его работать. Как отметил @apelsoczi, настройки этих свойств в стиле панели инструментов также применяются к дочерним компонентам.

4

Как вы можете видеть в следующем issue, проблема исходит из атрибута app:theme. Он применяется ко всем представлениям, что группа просмотра надувается. Заменить app:theme на 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

отлично, и здорово, что вы можете одновременно использовать «приложение: тема» и задавать все свойства, которые вы хотите, за исключением того, что фон сохраняет его в стиле «стиль» –

Смежные вопросы