0

Я пытаюсь разработать простой тест приложение с помощью андроида библиотеки для поддержки проектов, но я не могу понять, почему панель инструментов появится ниже й AppBarLayout:Layout Android Координатор: Панель инструментов ниже AppBarLayout

enter image description here

Мои styles.xml является:

<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/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 

    <!-- ActionMode --> 
    <item name="windowActionModeOverlay">true</item> 
    <item name="android:windowActionModeOverlay">true</item> 
    <item name="android:actionModeBackground">@color/colorAccent</item> 
    <item name="android:actionModeSplitBackground">@color/colorPrimary</item> 
    <item name="android:actionModeStyle">@style/AppTheme.ActionMode</item> 
</style> 

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

<style name="AppTheme.ActionMode" parent="@style/Widget.AppCompat.ActionMode"> 
    <item name="android:background">?android:attr/actionModeBackground</item> 
    <item name="android:backgroundSplit">?android:attr/actionModeSplitBackground</item> 
    <item name="android:height">?android:attr/actionBarSize</item> 
    <!--<item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item> 
    <item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>--> 
</style> 

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

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

</resources> 

И мой макет:

<?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:id="@+id/coordinator" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context=".MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

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

<fragment android:id="@+id/items_fragment" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    class="it.bmsoftware.advancedrecyclerapp.MainFragment" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:tag="items_fragment" 
    tools:layout="@layout/fragment_recycler" /> 

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

Кто-нибудь знает, что мне не хватает?

Заранее спасибо :)

+0

AppBarLayout используется для добавления поведения прокрутки на панель инструментов с помощью 'app: layout_scrollFlags'. Подробнее [Библиотека поддержки дизайна Android] (https://android-developers.googleblog.com/2015/05/android-design-support- library.html) –

ответ

1

AppbarLayout просто оборачивает панель инструментов, чтобы сделать его устремлены на ActionBar. И еще раз просмотрите код.

Другая проблема заключается в том, что вы используете AppTheme в редакторе предварительного просмотра студии Android, что неверно, если вы используете панель инструментов, затем выберите тему NoActionBar, а затем вы увидите панель инструментов в первую очередь. Я думаю, что вы предполагаете верхнюю часть панели инструментов Appbarlayout, но на самом деле ее панель действий.

+0

Проверьте это сообщение для получения более подробной информации http://stackoverflow.com/questions/40257231/automatically-android-studio-changes-the-background-of-every-projects –

+0

Я добавил android: theme = " @ style/AppTheme.NoActionBar в манифесте (на уровне активности), и теперь он работает. Так просто. Спасибо! – Androidian

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