【发布时间】:2021-08-03 12:45:18
【问题描述】:
我有以下包含TextView 和ProgressBar 的框架布局。在某一特定时间,仅显示其中之一。 hideText 标志最初设置为 false。
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textview_detail_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@{model.text}"
android:visibility="@{model.hideText}" />
<ProgressBar
android:id="@+id/progress_loader"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="@{!model.hideText}" />
</FrameLayout>
TextView 中的文本是动态获取的,因此该组件的高度在运行前是未知的。当我将hideText 标志设置为true 时,框架布局的高度会缩小以匹配进度条。但是,我希望框架布局保持其初始高度(即TextView 的高度并在中间显示进度条。
有没有办法指定ProgressBar的android:layout_height属性来匹配TextView的高度?
【问题讨论】:
-
只是不要让
textview_detail_titleGONE成为INVISIBLE。
标签: android android-layout android-framelayout android-layout-weight android-layoutparams