2015-11-21 4 views
6

Меня интересует наличие однородной цветной панели инструментов и строки состояния. Если я предоставил colorPrimary и colorPrimaryDark в качестве одного цвета, это должно быть возможно. Я получаю желаемый результат с помощью ActionBar, но не с помощью панели инструментов. Я также создаю навигационное представление, поэтому мне нужно, чтобы строка состояния была прозрачной.Android: Как удалить строку между панелью инструментов и панель состояния

Using Toolbar Using ActionBar

Код: Styles-v21

<style name="AppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

Код: Стили

<resources> 

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

    <style name="AppTheme.NoActionBar"> 
     <item name="windowActionBar">false</item> 
     <item name="windowNoTitle">true</item> 
    </style> 

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/> 

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/> 

</resources> 

Шаги для воспроизведения:

  1. Создать новый проект в андроиде студии с Navigation Drawer Activity
  2. Набором primary и primaryDark так же цветами
  3. Запустить на устройстве или эмуляторе
+0

Пожалуйста, покажите экран с линией –

+0

Верхняя одна имеет линию, разделяющую панель инструментов и строку состояния. И цветные первичные, и первичные темные имеют одинаковые значения. – CuriousCat

+0

У меня та же проблема. Любая помощь? –

ответ

7

Единственное решение, которое я мог придумать было удалить android:fitsSystemWindows="True" от координатора макете

редактировать: Другое решение, чтобы обернуть макет координатора в кириллице координатора.

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.CoordinatorLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:theme="@style/AppTheme.AppBarOverlay" 
      app:layout_scrollFlags="scroll|enterAlways"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       app:popupTheme="@style/AppTheme.PopupOverlay"/> 

     </android.support.design.widget.AppBarLayout> 


     <include 
      layout="@layout/content_main" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

    </android.support.design.widget.CoordinatorLayout> 
</android.support.design.widget.CoordinatorLayout> 

Перед enter image description here

После enter image description here

0

Этой тень вы видите, это содержание перекрывающего окна, вы можете удалить его:

Пожалуйста, добавьте эту строку в теме спецификации:

<item name="android:windowContentOverlay">@null</item>

+0

Не работает. Тень по-прежнему существует <имя элемента = "windowActionBar"> <стиль имя = "AppTheme.NoActionBar"> ложные<имя элемента = "windowNoTitle"> правда <имя элемента = "андроид: windowContentOverlay"> @null<имя элемента = "андроид: windowDrawsSystemBarBackgrounds"> истинные <имя элемента = "андроид: statusBarColor"> @ Android: цвет/прозрачный – CuriousCat

+0

Так я снял панель и тень исчезла. Поэтому я думаю, что тень отображается сверху и снизу на панели инструментов. Установка высоты панели инструментов как в xml, так и в java не помогает. – CuriousCat

+0

@ CuriousCat вы когда-нибудь это выясняли? – casolorz

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