如何在Android Lollipop上声明扩展高度工具栏/操作栏?

Chr*_*nes 88 android android-actionbar

我在Google Design App Bar指南中看到了扩展高度应用栏.如何在Android Lollipop中实现这些功能?

Chr*_*nes 143

您需要使用新的工具栏小部件来实现此目的.工具栏对其最小高度进行了特殊处理,以声明用于按钮(和操作)的空间量.

在下面的例子中,我们将高度设置为128dp(规格中定义为56dp + 72dp),但保持android:minHeight标准actionBarSize(通常为56dp).这意味着按钮和动作被约束为垂直放置在顶部56dp中.然后我们可以使用android:gravity在底部定位标题.

<Toolbar
    android:id="@+id/toolbar"
    android:layout_height="128dp"
    android:layout_width="match_parent"
    android:minHeight="?android:attr/actionBarSize"
    android:background="?android:attr/colorPrimary"
    android:gravity="bottom" />
Run Code Online (Sandbox Code Playgroud)

如果您正在使用AppCompat,那么请更改要使用的声明android.support.v7.widget.Toolbar并使用它的属性.

  • 对于奖励积分,使用增量调整操作栏的大小,例如`@ dimen/action_bar_size_x2`,并在手机上使用112dp,在平板电脑上使用128dp (37认同)
  • 当`buttonGravity`设置为`bottom`时,`android:paddingBottom`会引入奇怪的间距.`titleMarginBottom`属性似乎是更好的选择,不是吗? (7认同)
  • @RomanNurik日历应用中的扩展工具栏如何工作?任何提示 (5认同)
  • 如果使用`layout_height`是要走的路,我希望季风所描述的解决方法也不是一种解决方法,但是正确的方法是什么?https://code.google.com/p/android/issues/detail?id=77874 (3认同)
  • 我也喜欢能够为尺寸声明表达式,但我们不能. (3认同)
  • `android:gravity ="bottom"`本身就把它放得太靠近底部了.可能应该添加`android:paddingBottom ="16dp"`.指标规格为16dp. (2认同)