当前位置: 代码迷 >> Android >> 查看可见性不起作用
  详细解决方案

查看可见性不起作用

热度:57   发布时间:2023-08-04 11:01:11.0

我目前正在开发一个应用程序,其中有一个FAB ,在活动开始时它应该是不可见的

但是,仅在扩大布局时即可看到晶圆厂。 关于如何发生的任何想法?

谢谢你的指教。

从AndroidStudio中截取的屏幕截图:

    <android.support.design.widget.AppBarLayout
        android:id="@+id/summoner_detail_appbarlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/summoner_detail_collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:expandedTitleMarginBottom="56dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <kleinschloss.lolticker.ui.widget.RectLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_collapseMode="parallax"/>

                <View
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#32000000" />

                <ImageView
                    android:id="@+id/summoner_detail_icon"
                    android:layout_width="68dp"
                    android:layout_height="68dp"
                    android:background="@color/colorAccent"
                    android:layout_centerInParent="true"
                    app:layout_collapseMode="pin"/>
            </kleinschloss.lolticker.ui.widget.RectLayout>

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

            <android.support.design.widget.TabLayout
                android:id="@+id/summoner_detail_tablayout"
                android:layout_width="match_parent"
                android:layout_height="48dp"
                app:layout_collapseMode="pin"
                android:layout_gravity="bottom" />

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

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

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/summoner_detail_fab"
        android:visibility="invisible"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_anchor="@+id/summoner_detail_appbarlayout"
        app:layout_anchorGravity="bottom|end"
        android:layout_margin="16dp"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/summoner_detail_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

我遇到了完全相同的问题。 正如本期中所讨论的那样,当FloatingActionButton锚定到AppBarLayout时,似乎Google的Android团队不希望您控制可见性-FloatingActionButton

看起来可行的修复方法是将FAB包装在CoordinatorLayout中,然后在包装器上设置可见性,如下所示:

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/fab_container"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:visibility="invisible">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/fab_icon"/>

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

但是,您可能希望考虑这是否是理想的行为。 Google倡导者建议在创建屏幕后立即显示FAB。 如果您将其隐藏的时间超过为其设置动画所需的时间,请考虑改为显示禁用状态。

  相关解决方案