问题描述
我目前正在开发一个应用程序,其中有一个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"/>
1楼
我遇到了完全相同的问题。 正如本期中所讨论的那样,当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。 如果您将其隐藏的时间超过为其设置动画所需的时间,请考虑改为显示禁用状态。