每当在fragment_container
中滚动内容(CoordinatorLayout
)时,我都会尝试在appbar下方显示一个按钮。它有点工作,但我希望按钮显示在appbar/toolbar
下方,而不是在显示时展开appbar的高度。它目前扩展了appbar,因为它嵌套在appbar中。我尝试过与RelativeLayout
组合而没有任何运气。
我如何"分离"它来自appbar/toolbar
并在内容滚动时仍显示在下方?
在下图中,绿色表示appbar,紫色表示toolbar
,红色表示我想要显示在appbar/toolbar
布局外面(正下方)的按钮。白色背景显示fragment_container
内的回收者视图。
用于获取上图中结果的布局:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinator">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar">
<Toolbar
android:id="@+id/toolbar"
app:layout_scrollFlags="scroll|enterAlways"/>
<Button
android:id="@+id/scrollToTop"
app:layout_scrollFlags="scroll|enterAlways"
android:layout_marginTop="10dp" />
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/fragment_container"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</android.support.design.widget.CoordinatorLayout>
编辑:
请参阅下图,了解我之后的结果。向下滚动CoordinatorLayout中的内容时,我希望按钮出现。向上滚动(向上滑动)应该删除按钮。
答案 0 :(得分:1)
CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
Snackbar snackbar = Snackbar.make(coordinatorLayout, "Text", Snackbar.LENGTH_LONG); View view = snackbar.getView();
CoordinatorLayout.LayoutParams params =(CoordinatorLayout.LayoutParams)view.getLayoutParams();
params.gravity = Gravity.TOP;
view.setLayoutParams(params); snackbar.show();