【问题标题】:Height vs minHeight Toolbar高度与 minHeight 工具栏
【发布时间】:2015-08-28 10:23:58
【问题描述】:

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

我在查看xml的时候,发现了这两个属性-

android:layout_height="wrap_content"

android:minHeight="?attr/actionBarSize"

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这两个属性有什么区别?

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

      伪代码更清晰。

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

      minHeightDefined - 标志表明 android:minHeight 已在布局 xml 文件中声明或不

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

      因为this is 是默认实现。

      【讨论】:

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

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

        android:layout_height="?attr/actionBarSize"
        

        不需要其他属性。

        【讨论】:

          猜你喜欢
          • 2016-03-31
          • 1970-01-01
          • 1970-01-01
          • 2020-10-18
          • 2017-02-27
          • 2017-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多