Android实现悬浮按钮的合理的可交互提示

本文详细介绍如何在Android应用中实现悬浮按钮(FloatingActionButton)及其交互提示(Snackbar),并结合CoordinatorLayout确保良好的视觉效果和用户体验。通过具体的XML布局代码和Java监听事件设置,展示如何创建可交互的提示,为用户提供撤销操作的机会。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android实现悬浮按钮的合理的可交互提示使用FloatingActionButton,Snackbar,CoordinatorLaout的合并使用。这是三个分别是悬浮按钮控件、可交互提示、能监听布局中所有控件并作出合理响应的布局。

Android实现悬浮按钮的合理的可交互提示的实现

1.悬浮按钮的实现FloatingActionButton

<android.support.design.widget.FloatingActionButton
    android:id="@+id/floatingActionButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:layout_marginEnd="8dp"
    android:clickable="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
//设置控件的位置为右下角
    android:layout_gravity="bottom|end"
//设置控件的投影高度
    app:elevation="8dp"
    app:srcCompat="@drawable/ic_done_black_24dp" />

2.实现控件监听的可交互提示Snackbar

我们一般给用户的提示是Toast提示,你会发现这个提示是强行的提示用户一下。用户拿它毫无办法,只能看看。但是我们有时候需要去提示用户,并且给他们一次反悔的机会。如果用户不小心删除某一个东西,你只给他一个Toast删除提示,那么他会很抓狂(还不如不告诉它,嘻嘻。当然不能这样)。所以我们要给他一个机会,提示他还给他后悔的机会,可以去点击提示恢复数据。这时Snackbar就提供了这样的功能。

这个提示是从屏幕下方出现的。

为我们的悬浮按钮添加这样的控件。

 //加载浮动按钮并为其添加监听事件
    FloatingActionButton floatingActionButton = findViewById(R.id.floatingActionButton);
    floatingActionButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
//设置可交互提示
            Snackbar.make(v,"Data deleted",Snackbar.LENGTH_LONG)
                    .setAction("Undo", new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Toast.makeText(MainActivity.this,"Data restored",Toast.LENGTH_LONG).show();
                        }
                    }).show();
        }
    });

}

3.CoordinatorLaout的使用

当你像上面的那样去实现了之后你会发现当底部的提示出来之后,会挡住上面的悬浮按钮。这样很不美观,所以我们就应该将我们的布局采用CoordinatorLaout。这是一个可以实现监听布局中所有控件,并作出合理的响应的布局。

在这里它就会监听到可交互提示的出现,并将悬浮按钮上移。提示并不会覆盖悬浮按钮。

实现方式:将你的布局方式替换为

<android.support.design.widget.CoordinatorLayout

效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值