3

我最近更新到AppCompatActivity并切换ActionBarToolBar.

当我检查 xml 时,我发现了这两个属性 -

android:layout_height="wrap_content"

android:minHeight="?attr/actionBarSize"

这两个属性有什么区别?为什么在 ToolBar 文档中layout_height设置为?wrap_content

有必要同时使用这两个属性吗?

4

3 回答 3

9
  • 在同时使用 和 属性时android:layout_height="wrap_content"android:minHeight="?attr/actionBarSize"当您使用较大的图标时,您的工具栏高度可能会变大。
  • android:minHeight确保您的工具栏不会将自身调整为小于?attr/actionBarSize值。

如果您希望工具栏高度固定,只需使用

android:layout_height="?attr/actionBarSize"

不需要其他属性。

于 2015-06-12T12:22:02.493 回答
2

好的,当您指定android:layout_height="wrap_content"时,如果您的工具栏不包含大于标准操作栏大小的子视图,则它可能会缩小。

但是,如果您指定android:minHeight="?attr/actionBarSize"那么工具栏中的视图有多小都没关系,它将保持其标准的 ActionBar 大小。

于 2015-06-12T12:07:31.643 回答
2

这两个属性有什么区别?

android:minHeight 定义视图的最小高度。
android:layout_height 指定视图的基本高度。

伪代码更清楚。

if(minHeightDefined) {
    if(currentHeightOfView < minHeight) {
        currentHeightOfView = minHeight;
    } else {
        currentHeightOfView = layout_height;
    }
} else {
    currentHeightOfView = layout_height;
}

minHeightDefined- 标志指示是否布局 xml 文件中android:minHeight 声明

为什么在 ToolBar 文档中 layout_height 设置为 wrap_content?

因为这是默认实现。

于 2015-06-12T12:09:51.113 回答