Activity启动时如何显示Snackbar? [英] How to show Snackbar when Activity starts?

查看:93
本文介绍了Activity启动时如何显示Snackbar?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在活动开始时显示android Snackbar (android.support.design.widget.Snackbar),就像我们显示Toast一样.

I want to show android Snackbar (android.support.design.widget.Snackbar) when the activity starts just like we show a Toast.

但是问题是我们必须像这样创建Snackbar时指定父级布局:

But the problem is we have to specify the parent layout when creating Snackbar like this:

Snackbar.make(parentlayout, "This is main activity", Snackbar.LENGTH_LONG)
            .setAction("CLOSE", new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                }
            })
            .setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
            .show();

当我们在活动开始时显示Snackbar而没有任何点击事件时如何给出父级布局(如果这是一个点击事件,我们可以轻松地传递父级视图)?

How to give parent layout when we show Snackbar at the start of the activity without any click events (If it was a click event we could've easily pass the parent view)?

推荐答案

只需指向Activity's XML内的任何View.例如,您可以为根viewGroup指定一个ID,并使用:

Just point to any View inside the Activity's XML. You can give an id to the root viewGroup, for example, and use:

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);    
   setContentView(R.layout.main_activity);
   View parentLayout = findViewById(android.R.id.content);
   Snackbar.make(parentLayout, "This is main activity", Snackbar.LENGTH_LONG) 
        .setAction("CLOSE", new View.OnClickListener() {
            @Override 
            public void onClick(View view) {

            } 
        }) 
        .setActionTextColor(getResources().getColor(android.R.color.holo_red_light ))
        .show(); 
   //Other stuff in OnCreate();
}

这篇关于Activity启动时如何显示Snackbar?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆