minHeight会做什么吗?

Mat*_*att 33 layout android

在附图中,我希望按钮列与图像的高度相匹配,但我还希望按钮列的最小高度.

它正确匹配图像的高度,但不尊重minHeight,并且会按下按钮.

我正在为按钮列设置这些属性:

<LinearLayout
   ...
   android:layout_alignTop="@+id/image"
   android:layout_alignBottom="@+id/image"
   android:minHeight="150dp"
   >
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

kab*_*uko 53

我不知道你所有的确切要求,但似乎你可以用你的图表中的另一层来解决这个问题.minHeight在外部布局上设置,然后在内部fill_parent/ match_parent上面.也许是这样的:

<LinearLayout
    android:orientation="horizontal"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:minHeight="150dp">
    <LinearLayout
        android:orientation="vertical"
        android:layout_height="fill_parent"
        android:layout_width="wrap_content">
    </LinearLayout>
    <ImageView />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

  • 但请记住:如果您使用多种布局,您的应用可能会在启动时变得迟钝.看起来布局在启动时需要大量内存,这可能会触发垃圾收集减慢应用程序的速度,直到启动所需的内存再次被释放.是的,我有这个问题,目前我尝试切换到RelativLayout. (2认同)

Mar*_*tin 7

棘手的问题因为它调用TextView.setMinHeight - 但是你没有使用TextView.

所以一般android:minHeight确实做了一些事情,但不是在你的特定情况下.

  • 这是对原始问题的一个很好的答案.它可能无助于用户实现他们的最终目标,但我发现它仍然很有趣. (5认同)
  • 这完全是错误的.一般来说,视图的minHeight是一个有效的属性.它的编程等价物是https://developer.android.com/reference/android/view/View.html#setMinimumHeight(int) (2认同)
  • @David Liu 该属性在 XML 中有效并不意味着它存储在视图中。即使该属性存储在视图中,也不意味着它实际上被活动布局管理器使用。为了让它更有趣:有一个“TextView.setMinHeight”和一个“View.setMinimumHeight” (2认同)
  • 关键是提起TextView.setMinHeight完全无关紧要,因为问题不在于文本视图。至于XML的有效性,它已明确使用并存储在基本View类中,如下所示:https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java /android/view/View.java第970行。活动布局管理器是否实际使用它与我的观点无关(尽管从接受的答案中可以看出,minHeight属性与实际答案相关,如LinearLayout * *确实**将View.minHeight考虑在内)。 (2认同)