gpt4 book ai didi

android - AppBarLayout 在 setVisibility(View.GONE) 后占用空间

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:37 29 4
gpt4 key购买 nike

我想隐藏我的 AppBarLayout 以动态添加一个将占据屏幕高度的 View 。为此,我想通过将 AppBarLayout 的可见性设置为 GONE 来临时删除 View 。 View 不可见,但在屏幕中占据空间(屏幕高度的一半)。

我的 XML 代码:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/coordinatorFriendProfil"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#81D4FA"
android:fitsSystemWindows="true">

<android.support.design.widget.AppBarLayout
android:id="@+id/fProfilAppBar"
android:layout_width="match_parent"
android:layout_height="250dp"
android:fitsSystemWindows="true">

<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/fProfilCollapsing"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#B3E5FC"
android:gravity="center"
android:orientation="vertical"
app:contentScrim="#03A9F4"
app:layout_scrollFlags="scroll|exitUntilCollapsed">

<LinearLayout
android:id="@+id/fProfilUserInfo"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<com.neden.neden.RoundedImageView
android:id="@+id/ivFriendPicture"
android:layout_width="150sp"
android:layout_height="150sp"
android:layout_gravity="center"
android:fitsSystemWindows="true"
android:src="@drawable/photo"
app:border_color="#64B5F6"
app:border_width="4dp"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7" />

<TextView
android:id="@+id/fProfilName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="15pt" />

</LinearLayout>

<android.support.v7.widget.Toolbar
android:id="@+id/fProfilToolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways" />

</android.support.design.widget.CollapsingToolbarLayout>

</android.support.design.widget.AppBarLayout>

<FrameLayout
android:id="@+id/fProfilContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

最佳答案

你的问题是这条线引起的

    app:layout_behavior="@string/appbar_scrolling_view_behavior"

您必须在 CoordinatorLayout 上以编程方式设置它,而不是在具有该字段的实际容器 fragment 上设置它。

方法是这样的

    mContainer = (FrameLayout) findViewById(R.id.main_content_container);

CoordinatorLayout.LayoutParams params =
(CoordinatorLayout.LayoutParams) mContainer.getLayoutParams();
params.setBehavior(null);

mContainer.requestLayout();

如果你想让它再次滚动

   params.setBehavior(new AppBarLayout.ScrollingViewBehavior());

关于android - AppBarLayout 在 setVisibility(View.GONE) 后占用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32704775/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com