TextView 高度与RelativeLayout 相同

Posted

技术标签:

【中文标题】TextView 高度与RelativeLayout 相同【英文标题】:TextView height as same as RelativeLayout 【发布时间】:2019-12-11 19:35:10 【问题描述】:

我有一个RelativeLayout (1),在这个Layout 中有一个TextView 和另一个RelativeLayout (2)。 RelativeLayout (2) 具有动态高度,我希望 TextView 应该与 RelativeLayout (2) 具有相同的高度。这与XML 可能吗?

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_
    android:id="@+id/layout1">

    <TextView
        android:id="@+id/textView1"
        android:layout_
        android:layout_
        android:text="Some Text..."/>

    <RelativeLayout
        android:id="@+id/layout2"
        android:layout_
        android:layout_>

    ...

    </RelativeLayout>
</RelativeLayout>

我尝试了android:layout_height="match_parent"android:layout_height="wrap_content",但不幸的是它不起作用。

【问题讨论】:

【参考方案1】:

首先将父布局从RelativeLayout更改为LinearLayout,然后将其orientation attribute设置为vertical

接下来将值为 1 的 layout_weight 添加到两个孩子:TextView and inner RelativeLayout

    android:layout_weight="1"

如果上述不是您所期望的,而是 textview 上的动态变化,参考相对布局的高度变化,我会说从技术上讲这对于 XML 是不可能的。您必须编写一些代码来处理更改事件并在必要时更新视图高度。

【讨论】:

以上是关于TextView 高度与RelativeLayout 相同的主要内容,如果未能解决你的问题,请参考以下文章

如何修改 heightForRowAtIndexPath 使其调整到其中的 textview 的高度,同时在 textview 为空时保持最小高度?

什么是 textview.setTextSize()?

我想在 TextView 中启用 ScrollView。当 TextView 高度增加时

缺少将 view.top 与动态高度 uilabel 底部连接的约束

如何将一个/两个 TextView 设置为另一个 TextView 的高度?

Swiftui如何根据textview内容管理Scrollview Height