Material Design之Snackbar

转载请标明出处:http://blog.csdn.net/wu_wxc/article/details/47264691
本文出自【吴孝城的CSDN博客】

Snackbar是带有动画的提示条,出现在屏幕底部,可添加按钮,可滑动删除,如果不操作1.5S或2.75S后会自动消失,与Toast相似,但不能同时显示多个。

使用Snackbar要先添加design library依赖。

打开build.gradle(Module:app),

加入

compile 'com.android.support:design:22.2.0'

然后重新制作一下


需要编辑的项目如下


Snackbar要基于一个布局显示,所以先给它写一个简单的textview布局,就用textview做点击按钮

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/id_Snackbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textSize="30sp"
        android:text="@string/hello_world" />

</RelativeLayout>

接下来是主程序的编写

MainActivity.java

package cn.wuxiaocheng.snackbar;

import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.TextView;


public class MainActivity extends ActionBarActivity {

    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initSnackbar();
    }

    private void initSnackbar() {
        tv = (TextView) this.findViewById(R.id.id_Snackbar);
        tv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //这里的tv是snackbar显示所在的页面。
                Snackbar.make(tv, "天呐,我竟然出错了!!!", Snackbar.LENGTH_LONG).setAction("再来", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        tv.setText("这里可以自己改成想要执行的任务。");
                    }
                }).show();

            }
        });
    }


}

其中

.setAction("再来", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        tv.setText("这里可以自己改成想要执行的任务。");
                    }
                })

是给Snackbar添加点击按钮和点击执行的



运行效果如下图


你可能感兴趣的:(design,material,Snackbar)