我最近更新为AppCompatActivity
并从ActionBar
切换到ToolBar
。
当我检查xml时,我发现了这两个属性 -
android:layout_height="wrap_content"
和
android:minHeight="?attr/actionBarSize"
这两个属性有什么区别?为什么工具栏文档中layout_height
设置为wrap_content
?
是否有必要同时使用这两个属性?
答案 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是默认实现。