我有一个像这样的布局XMl:
<CoordinatorLayout>
<AppBarLayout>
<CollapsingToolbarLayout>
<RelativeLayout/>
<Toolbar/>
</CollapsingToolbarLayout>
</AppBarLayout>
<RecyclerView/>
</CoordinatorLayout>
我想在工具栏下方和回收站视图上方添加一个水平进度条,以指示回收站视图项的数据加载。
使用相对布局,我可以简单地为操作栏下方的进度条提供android:layout_below属性。但作为协调员布局和工具栏的新手,我无法得到结果。
答案 0 :(得分:1)
<CoordinatorLayout>
<AppBarLayout>
<CollapsingToolbarLayout>
<RelativeLayout/>
<Toolbar/>
</CollapsingToolbarLayout>
</AppBarLayout>
<LinearLayout>
<ProgressBar>
<RecyclerView/>
</LinearLayout>
</CoordinatorLayout>
以上内容适用于您想要的内容。确保线性布局上的方向是垂直的。唯一需要注意的是,如果您的回收站视图很大,您可能需要将线性布局包装在嵌套滚动视图中,假设您希望进度条也滚动。
答案 1 :(得分:1)
如果您想ProgressBar
Toolbar
Toolbar
LinearLayout
置于ProgressBar
内,请将LinearLayout
作为此orientation="vertical"
的第一个孩子。分配
ProgressBar
如果您希望RecyclerView
始终可见,请将LinearLayout
包裹在ProgressBar
内,并将app:layout_behavior="@string/appbar_scrolling_view_behavior"
作为第一个孩子。设置方向。记得添加
LinearLayout
作为{{1}}的参数(必须将滚动传递给孩子)
答案 2 :(得分:0)
将ProgressBar放置为CoordinatorLayout的直接子代。
<CoordinatorLayout>
<AppBarLayout>
<CollapsingToolbarLayout>
<ImageView/>
<Toolbar/>
</CollapsingToolbarLayout>
</AppBarLayout>
<NestedScrollView>
</NestedScrollView>
<ProgressBar/>
<BottomAppBar/>
<FloatingActionButton/>
</CoordinatorLayout>
对于ProgressBar,请使用layout_anchor并将其锚定为AppBarLayout(等于AppBarLayout ID)。将layout_anchorGravity设置为底部。
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="@{viewModel.loading ? View.VISIBLE : View.GONE}"
app:layout_anchor="@id/appBarLayout"
app:layout_anchorGravity="bottom" />