AppBarLayout不在屏幕的顶部

时间:2017-01-05 15:39:10

标签: android xml android-studio android-appbarlayout

我的问题是,AppBarLayout以及工具栏不会出现在屏幕顶部,从而阻止了所包含内容的视图。它可以在图像中看到。我相信我在这里错过了一些东西。

enter image description here

此外,这是xml代码

<android.support.design.widget.AppBarLayout
    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>

<include layout="@layout/content_search" />

编辑:我的主题设置为NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

它看起来像这样:

enter image description here

3 个答案:

答案 0 :(得分:2)

res/values/styles中将您的样式设置为NoActionBar主题,例如:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

现在,您应该丢失常规的ActionBar,并且可以使用工具栏。

编辑:OP试图完成的是AppBarCoordinatorLayout布局下面的位置布局。通过将app:layout_behavior="@string/appbar_scrolling_view_behavior"添加到包含的布局来实现这一目标。

答案 1 :(得分:0)

将layout_width和layout_height设置为匹配包含布局的父级(包含布局内的布局)。

答案 2 :(得分:0)

您应该将主题设置为任何NoActionBar主题,例如

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:controls="clr-namespace:ControlTemplateDemos.Controls"
             mc:Ignorable="d"
             x:Class="ControlTemplateDemos.Views.Page1">
    <ContentPage.Content>
        <StackLayout>
            <controls:CardView BorderColor="DarkGray"
                           CardTitle="John Doe"
                           CardDescription="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla elit dolor, convallis non interdum."
                           IconBackgroundColor="SlateGray"
                           IconImageSource="user.png"
                           ControlTemplate="{StaticResource CardViewControlTemplate}" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>