浅谈SnackBar(Toast大兄弟)
SnackBar是 Android Support Library 22.2.1 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。
特点:
.SnackBar和Toast的用途一样,都是用来提示用户操作后的结果的。 .SnackBar显示时位置一般是在屏幕底部,较大的设备就显示在左下角。 .SnackBar同一时间只有一条 .SnackBar可以自动消失,也可以手动取消(在完成某个操作的时候) .在Activity结束的时候,SnackBar会消失,这点Toast不会 (避免Toast那样 退出Activity了,Toast还继续显示的问题) .SncakBar能支持侧滑
看一下SnackBar的使用方法:
三个参数:View ,内容文本,显示时长
<br />public static Snackbar make(View view, CharSequence text, int duration) { Snackbar snackbar = new Snackbar(findSuitableParent(view)); snackbar.setText(text); snackbar.setDuration(duration); return snackbar; }
和Toast的使用类似
Toast的三个参数:上下文,内容文本,显示时长
Toast.makeText(this,"Toast内容",Toast.LENGTH_SHORT).show();
可以看出,SnackBar的显示需要依赖于一个View。
另外SnackBar的显示时长的设置值可以为:
Snackbar.LENGTH_SHORT// 短时间显示,然后自动取消 Snackbar.LENGTH_LONG// 长时间显示,然后自动取消 Snackbar.LENGTH_INDEFINITE// 不消失显示,除非手动取消
看一下简单的使用
xml文件
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="16dp" android:src="@mipmap/icon_add" /> </android.support.design.widget.CoordinatorLayout>
Activity
public class MainActivity extends AppCompatActivity {<br /><br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_main);<br /><br /> findViewById(R.id.fab).setOnClickListener(new View.OnClickListener() {<br /> @Override<br /> public void onClick(View view) {<br /> Snackbar.make(view,"这是Snackbar控件显示的内容",Snackbar.LENGTH_SHORT).show();<br /> }<br /> });<br /> }<br />}
显示前:
显示后: