栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android FloatingActionButton+Snackbar 学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android FloatingActionButton+Snackbar 学习笔记

FloatingActionButton 是Material库中提供的一个控件,可以实现悬浮按钮的效果。

  1. 在build.gradle添加Material库的依赖
//Material库
    implementation 'com.google.android.material:material:1.1.0'
  1. 修改activity_main.xml


    
    

        
        
        
        
    
    
    
    

    


    

  1. 修改MainActivity.java
 private FloatingActionButton setting_btn;

 //绑定 FloatingActionButton控件
 setting_btn = findViewById(R.id.setting_btn);

//监听 FloatingActionButton控件
        setting_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getApplication(),"你点击了悬浮按钮",Toast.LENGTH_SHORT).show();
            }
        });
  1. 优化MainActivity.java
    使用Snackbar替换掉Toast
    Toast的作用是告诉用户现在发生了什么事情,用户无法交互;
    Snackbar允许在提示中增加一个可交互按钮,当用户点击时则在这方面进行一些扩展。
//        监听 FloatingActionButton控件
        setting_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //make方法:view 只要是当前界面布局的任意一个view就可以,Snackbar会使用这个view来自动查找最外层的布局
                //make方法:第二个参数 Snackbar中显示的内容
                //make方法:第三个参数 Snackbar显示的时长
                //make方法:setAction方法 设置一个动作
                Snackbar.make(v,"你点击了悬浮按钮",Snackbar.LENGTH_SHORT)
                        .setAction("后悔啦不点啦", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Toast.makeText(getApplication(),"我假装不知道你点过按钮了",Toast.LENGTH_SHORT).show();
                    }
                }).show();
//                Toast.makeText(getApplication(),"你点击了悬浮按钮",Toast.LENGTH_SHORT).show();
            }
        });
  1. 解决Snackbar遮挡悬浮按钮问题
    CoordinatorLayout可以说是一个增强版的frameLayout,也是由Material库所提供的。可以监听所有子空间的各种事件,自动帮助我们做出最为合理的响应。
    在activity_main.xml中替换frameLayout布局为CoordinatorLayout。


    
    

        
        
        
        
    
    
    
    

    


    

  1. 运行效果图
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297355.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号