您的位置:首页 > 移动开发 > Android开发

Android开发--FloatingActionButton/Snackbar/CoordinatorLayout

2017-09-24 10:33 393 查看

FloatingActionButton

悬浮按钮是support库中的按钮因此布局文件如下

<!--增加悬浮按钮-->
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@drawable/success"
/>




但是你看上图是不是很模糊的样子,而且貌似有一层阴影的感觉,而且是贴合在主布局中。我们设置它与当前界面有一定的高度。

app:elevation="8dp"


触发点击事件:

//设置FloatingActionButton的点击事件
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"悬浮按钮",Toast.LENGTH_SHORT).show();
}
});


Snackbar

一个可以替代Toast的可交互提示工具

代码如下:

//设置FloatingActionButton的点击事件
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(MainActivity.this,"悬浮按钮",Toast.LENGTH_SHORT).show();
Snackbar.make(v,"删除重要数据,请小心操作",Snackbar.LENGTH_SHORT)
.setAction("取消", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"你取消了本次的删除操作",Toast.LENGTH_SHORT).show();
}
})
.show();
}
});




从上面可知道操作和Toast是一样的。

从上图中可看到弹出的提示框将悬浮按钮给挡住了?这该怎么解决?

CoordinatorLayout可以上场了。

CoordinatorLayout

CoordinatorLayout是一个加强版的FrameLayout,CoordinatorLayout可以监听所有子控件的各种事件,从而自动的做出合理的相应。

如上图中的遮挡问题,当使用CoordinatorLayout监听到Snackbar的弹出事件之后,CoordinatorLayout内部自动将FloatingActionButton向上偏移,从而保证按钮不会被遮挡到。

布局文件只需要将FrameLayout该为android.support.design.widget.CoordinatorLayout即可实现。



总结:上述就Android中关于悬浮按钮FloatingActionButton和Snocker,以及CoordinatorLayout布局的一些概念和基本的操作。

都不难,但是至于真没做一些比较炫酷的操作就有待自己的领悟。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: