【发布时间】:2021-09-17 06:01:02
【问题描述】:
我有一个包含很多视图的布局,假设层次结构是:
- 协调器布局
- 嵌套滚动视图
- 约束布局
- 约束布局
- 一些观点
- 查看(分隔符)
- 约束布局
- 一些观点
- 查看(分隔符)
- 等等……
- 约束布局
- 约束布局
- AppBar 的包含
- MyCustomProgressBar
- 嵌套滚动视图
- 关闭 CoordinatorLayout
问题是我创建了一个 Group 和我想要隐藏的 id 的 constraint_referenced_ids(它们在层次结构树中,但是当我尝试隐藏它们并显示另一个时它们不是躲起来,我还能看到他们。
我的想法是,我希望这个布局像现在这样,但是添加一个 ProgressBar,例如,当它加载时,它只显示 ProgressBar
我做了一个 api 调用
进度条可见 我收到了来自 api 的回复 隐藏进度条 使可见组并填充里面的值
我尝试将它们添加到CoordinatorLayout 中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/myRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ConstraintLayout>...</ConstraintLayout>
<include
android:id="@+id/app_bar"
layout="@layout/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<MyCustomProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:id="@+id/my_custom_progress_bar"/>
<androidx.constraintlayout.widget.Group
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="lot_of_ids"
android:id="@+id/myGroup"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
但我无法让它工作,我错过了什么?
一般的想法是能够继续使用原来的大布局,但只需添加一些视图,例如 ProgressBar 和 EmptyCustomView 以在不重叠信息的情况下显示它们,只显示确切的视图,我已经做过很多次了,但不是在CoordinatorLayout,比如用“状态”分隔它,当状态为 Loading 时,仅显示进度条,当状态为 Empty 时,显示 EmptyCustomView当状态为 Success 时,从一开始就显示布局,但隐藏其他布局。
【问题讨论】:
标签: java android kotlin android-layout layout