android - Lollipop 上的工具栏高度太大

标签 android android-appcompat android-toolbar

我有一个应用程序实现了 AppCompat v7 工具栏,这个工具栏在 Lollipop 上的高度是 Android < 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

最佳答案

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

当你有一个半透明的状态栏并且你不希望你的工具栏低于状态栏,而是留在原来的“ActionBar”所在的位置时,你需要将其设置为以下

android:fitsSystemWindows="true"

但这会导致我在直接将其设置在 ToolBar 上时出现上面描述的问题,因此我将工具栏包裹在

<FrameLayout />

并设置

android:fitsSystemWindows="true"

在 FrameLayout 上而不是在工具栏上

关于android - Lollipop 上的工具栏高度太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236533/

相关文章:

使用 AppCompat v23 和 API21 构建应用程序时 Android Studio 不工作

android - MaterialButton 和简单的 Button 有什么区别吗?

java - AppCompatActivity 改变了我的 AlertDialog 设计

android - Toolbar ImageView 和 TextView 内容没有变化

android - 如何更改工具栏名称并将图标与工具栏一起放置

android - 按住按钮时如何获得按钮按下时间

android - android中谷歌地图上的圆形动画

android - 如何更改工具栏导航图标和选项菜单边距

android - 将项目移植到 Android Studio 时如何使用旧的 .jar 文件?

java - 如何在android中选择和裁剪图像?