【问题标题】:How to make floating action button invisible?如何使浮动操作按钮不可见?
【发布时间】:2024-04-28 15:45:02
【问题描述】:

我已经声明了一个FloatingActionButton,我希望它仅在管理员访问应用程序时出现,所以我需要让它可见(因为我默认它是不可见的)。

我尝试使用.setVisibility,但它说.setVisibility 只能从同一个库中调用。

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/add_event_btn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="16dp"
    android:layout_marginBottom="16dp"
    android:clickable="true"
    android:focusable="true"
    android:visibility="invisible"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:srcCompat="@mipmap/add_icon1"
    />

【问题讨论】:

标签: android material-design floating-action-button material-components-android material-components


【解决方案1】:

您可以查看official doc

使用 showhide 方法为 FloatingActionButton 的可见性设置动画。 show 动画使小部件增长并淡入,而 hide 动画缩小小部件并使其淡出。

只需使用:

FloatingActionButton fab1 = findViewById(R.id.add_event_btn);
fab1.show();

另外,在版本 1.1.0 中,方法 setVisibility 不是 restricted

你可以使用:

fab1.setVisibility(View.VISIBLE);

【讨论】:

    【解决方案2】:

    尝试在代码中获取对浮动操作按钮的引用,假设其为mFab,然后执行以下操作:

    mFab.setVisibility = View.INVISIBLE

    mFab.setVisibility = View.GONE

    【讨论】: