一、悬浮按钮
FloatingActionButton是Design Support中的一个控件,它会默认colorAccent作为按钮的颜色,还可以给按钮一个图标。
这是没有图标的
,这是有图标的
。
然后布局文件这样写:
layout_gravity的属性值bottomb表示在顶部,end会根据系统确定是在左下还是右下。elevation表示按钮的悬浮高度,属性值越大,阴影就越小。。。其实区别并不大,平时用默认的就好了。
然后是按钮响应:
//悬浮按钮
FloatingActionButton fab =(FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View view) {
Toast.makeText(MainActivity.this,"你点击了悬浮按钮",Toast.LENGTH_SHORT).show();
}
});
和普通按钮差不多。。
然后通过drawable来实现一个简单的阴影效果:
在drawable创建一个fab.xml
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
/>
View Code
然后在悬浮按钮布局文件这里加上属性:background
二、Snackbar
和Toast一样用于提示的,但是它的提示当中有一个按钮,具体用法和效果就是:
//悬浮按钮
FloatingActionButton fab =(FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(newView.OnClickListener() {
@Overridepublic voidonClick(View view) {
Snackbar.make(view,"这是一个提醒", Snackbar.LENGTH_SHORT)
.setAction("可点", newView.OnClickListener() {
@Overridepublic voidonClick(View view) {
Toast.makeText(MainActivity.this,"你点了",Toast.LENGTH_SHORT).show();
}
})
.show();
}
});
调用make()方法创建一个对象,第一个参数是当前布局的任意一个View,另外两个参数和Toast一样。setAction就是那个可以点击的按钮的设定,第一个参数是按钮的内容,然后就是响应了。
三、CoordinatorLayout
可以用来替换原来的FrameLayout,它可以监听各个子控件的各种事件,自动 做出合理的响应。
例如,把上面的布局文件修改成这样:
重新点击一下悬浮按钮:
之前Snackbar出现的时候会挡住这个悬浮按钮,从FrameLayout改成CoordinatorLayout就不会了。
原文:http://www.cnblogs.com/xxbbtt/p/7470287.html