如何将一个布局组件的高度设置为与另一组件的高度相同?

发布于 2024-10-12 05:43:50 字数 781 浏览 3 评论 0原文

如何将一个布局组件的高度设置为与另一组件相同: 例子: 我可以设置 android:layout_height="@+id/info_box.height" 或执行类似的操作吗?

我希望 ImageView 的高度与 LinearLayout 的高度相匹配

    <ImageView android:id="@+id/border"
    android:src="@drawable/frame"
    android:layout_below="@+id/title"
    android:layout_width="fill_parent"
    android:layout_height="????"    
    android:scaleType="fitXY" 
    android:drawingCacheQuality="auto"
    />

    <LinearLayout
    android:id="@+id/info_box"
    android:orientation="vertical"
    android:layout_below="@+id/title"
    android:background="@layout/my_bg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    ... other stuff . .
     </LinearLayout>

How can I set one layout components height to the same as another component:
example:
Can I set android:layout_height="@+id/info_box.height" or do something similar?

I want the height of the ImageView to match that of my LinearLayout

    <ImageView android:id="@+id/border"
    android:src="@drawable/frame"
    android:layout_below="@+id/title"
    android:layout_width="fill_parent"
    android:layout_height="????"    
    android:scaleType="fitXY" 
    android:drawingCacheQuality="auto"
    />

    <LinearLayout
    android:id="@+id/info_box"
    android:orientation="vertical"
    android:layout_below="@+id/title"
    android:background="@layout/my_bg"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    ... other stuff . .
     </LinearLayout>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

十雾 2024-10-19 05:43:50

实现此目的的唯一方法是让两个视图成为同一容器的一部分。 LinearLayout 或RelativeLayout 通常非常适合于此。您也可以通过代码来实现这一点。

The only way to achieve this is to have the two views be part of the same container. A LinearLayout or RelativeLayout are usually well suited for this. You could also achieve this through code.

心如狂蝶 2024-10-19 05:43:50

您可以使用 android:layout_weight

将具有 fill_parent 和相同值layout_weight 的两个视图(border 和 info_box)放在同一个 LinearLayout 中,且orientation=verticale。

使用这种技术,边框和 info_box 将具有相同的高度。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/border"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/title"
        android:layout_weight="2"
        android:drawingCacheQuality="auto"
        android:scaleType="fitXY"
        android:src="@drawable/frame" />

    <LinearLayout
        android:id="@+id/info_box"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/title"
        android:layout_weight="2"
        android:background="@layout/my_bg"
        android:orientation="vertical" >

        ... other stuff . .

    </LinearLayout>

</LinearLayout>

You can use android:layout_weight.

Put your two views (border and info_box) with fill_parent and same value layout_weight in same LinearLayout with orientation=verticale.

With this technique, border and info_box will have same height.

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/border"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/title"
        android:layout_weight="2"
        android:drawingCacheQuality="auto"
        android:scaleType="fitXY"
        android:src="@drawable/frame" />

    <LinearLayout
        android:id="@+id/info_box"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/title"
        android:layout_weight="2"
        android:background="@layout/my_bg"
        android:orientation="vertical" >

        ... other stuff . .

    </LinearLayout>

</LinearLayout>
甜点 2024-10-19 05:43:50

在RelativeLayout中,只需将这些行添加到您的“element_with_the_same_height”中:

android:layout_alignBottom="@+id/element_with_needed_height"
android:layout_alignTop="@+id/element_with_needed_height"

当然,在这种情况下元素将位于同一水平

In RelativeLayout simply add these lines to your "element_with_the_same_height":

android:layout_alignBottom="@+id/element_with_needed_height"
android:layout_alignTop="@+id/element_with_needed_height"

of course, in this case elements will be on the same level

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文