高度与minHeight工具栏

时间:2015-06-12 11:59:19

标签: java android material-design android-toolbar appcompatactivity

我最近更新为AppCompatActivity并从ActionBar切换到ToolBar

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

android:layout_height="wrap_content"

android:minHeight="?attr/actionBarSize"

这两个属性有什么区别?为什么工具栏文档中layout_height设置为wrap_content

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

3 个答案:

答案 0 :(得分:9)

  • 使用 android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" 这两个属性时,如果使用较大的工具栏,工具栏高度可能会变大图标。
  • android:minHeight 可确保您的工具栏不会自行调整小于 ?attr/actionBarSize 的值。

如果您想要修复工具栏高度,请使用

android:layout_height="?attr/actionBarSize"

不需要其他属性。

答案 1 :(得分:2)

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

但是如果你指定 android:minHeight ="?attr / actionBarSize" 那么它与工具栏中的小视图有什么关系它将保持其标准尺寸of ActionBar。

答案 2 :(得分:2)

  

这两个属性有什么区别?

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

伪代码更清晰。

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

minHeightDefined - 标志表示布局xml文件中<{1}} 声明 是否

  

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

因为this is是默认实现。