棒棒糖上的工具栏高度太大了

时间:2014-12-01 20:17:47

标签: android android-appcompat android-toolbar

我有一个实现AppCompat v7工具栏的应用程序,Lollipop上这个工具栏的高度是Androids< 5.0

更新:我现在添加Kitkat和Lollipop的截图 工具栏xml如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:fitsSystemWindows="true"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
theme="@style/ThemeOverlay.AppCompat.ActionBar"
>

<LinearLayout
    android:padding="0dp"
    android:layout_margin="0dp"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right|center_vertical">

    <TextView
        android:id="@+id/action_bar_restaurant_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="@dimen/restaurant_label_action_bar_margin_start"
        android:layout_weight="1"
        android:alpha="0"
        android:ellipsize="end"
        android:gravity="left"
        android:singleLine="true"
        android:textColor="@color/white"
        android:textSize="@dimen/restaurant_label_action_bar_font_size" />


    <ImageButton
        android:id="@+id/shuffle_restaurant"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="7dp"
        android:layout_weight="0"
        android:background="@color/transparent"
        android:scaleType="fitXY"
        android:src="@drawable/shuffle_button" />
</LinearLayout>
</android.support.v7.widget.Toolbar>

我的布局如下:

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/container"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
        <include layout="@layout/toolbar" />
        <include layout="@layout/activity_content" />
    </FrameLayout>

    <ListView
        android:id="@+id/list_slidermenu"
        android:layout_width="240dp"
        android:layout_height="fill_parent"
        android:layout_gravity="start"
        android:background="@color/list_background"
        android:choiceMode="singleChoice"
        android:divider="@color/list_divider"
        android:dividerHeight="1dp"
        android:listSelector="@drawable/list_selector"
        android:paddingTop="50dp" />

</android.support.v4.widget.DrawerLayout>

截图:

enter image description here

1 个答案:

答案 0 :(得分:10)

好的,我终于找到了解决方案,

如果您有一个半透明的状态栏,并且您不希望工具栏位于状态栏下方,而是保持在原始&#34; ActionBar&#34;的位置。是的,你需要将它设置为以下

android:fitsSystemWindows="true"

但这会导致我在上面描述的问题时直接在ToolBar上设置它,所以我将工具栏包装在

<FrameLayout />

并设置

android:fitsSystemWindows="true"
FrameLayout上的

不是工具栏