我最近更新到AppCompatActivity
并切换ActionBar
到ToolBar
.
当我检查 xml 时,我发现了这两个属性 -
android:layout_height="wrap_content"
和
android:minHeight="?attr/actionBarSize"
这两个属性有什么区别?为什么在 ToolBar 文档中layout_height
设置为?wrap_content
有必要同时使用这两个属性吗?
我最近更新到AppCompatActivity
并切换ActionBar
到ToolBar
.
当我检查 xml 时,我发现了这两个属性 -
android:layout_height="wrap_content"
和
android:minHeight="?attr/actionBarSize"
这两个属性有什么区别?为什么在 ToolBar 文档中layout_height
设置为?wrap_content
有必要同时使用这两个属性吗?
android:layout_height="wrap_content"
,android:minHeight="?attr/actionBarSize"
当您使用较大的图标时,您的工具栏高度可能会变大。android:minHeight
确保您的工具栏不会将自身调整为小于?attr/actionBarSize
值。如果您希望工具栏高度固定,只需使用
android:layout_height="?attr/actionBarSize"
不需要其他属性。
好的,当您指定android:layout_height="wrap_content"时,如果您的工具栏不包含大于标准操作栏大小的子视图,则它可能会缩小。
但是,如果您指定android:minHeight="?attr/actionBarSize"那么工具栏中的视图有多小都没关系,它将保持其标准的 ActionBar 大小。
这两个属性有什么区别?
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?
因为这是默认实现。