1.概述
里面设计是Material Design中重要的思想。FloatingActionButton不属于平面的一部分,而是位于另外一个维度,看起来就是一种悬浮的感觉。
FloatingActionButton是Design Support库汇中的一个控件,默认使用colorAccent来作为按钮的颜色,使用的话要引入依赖库,如下:
compile 'com.android.support:design:28.0.0'
2.案例
2.1 实现效果
效果如下所示:
2.2 布局样式
在activity_main.xml中:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 悬浮按钮控件 --> <android.support.design.widget.FloatingActionButton android:id="@+id/fb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:layout_margin="35dp" android:src="@drawable/ic_mail" android:scaleType="centerCrop" app:elevation="8dp"/> </RelativeLayout>
属性说明:
app:elevation="8dp" 为FloatingActionButton指定一个高度值,高度值越大,投影效果越小。 2.3 处理逻辑
在MainActivity.java中:
public class MainActivity extends AppCompatActivity { private DrawerLayout drawerLayout; private NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FloatingActionButton fab =findViewById(R.id.fb); //为悬浮按钮设置监听事件 fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //这里需要指定MainActivity.this Toast.makeText(MainActivity.this,"点击了悬浮按钮",Toast.LENGTH_SHORT).show();; } }); } }