Activity 启动时如何显示 Snackbar?

新手上路,请多包涵

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

但问题是我们必须在创建 Snackbar 时指定父布局,如下所示:

 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 时,如何给父布局(如果它是一个点击事件,我们可以轻松地传递父视图)?

原文由 Sudheesh Mohan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 541
2 个回答

只需指向 Activity's XML 中的任何 View 。例如,您可以为根 viewGroup 提供一个 id,然后使用:

 @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();
}

原文由 David Corsalini 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您在 Activity 中使用 Snackbar,请使用此代码

查看视图 = findViewById(android.R.id.content); Snackbar.make(view, “这是主要活动”, Snackbar.LENGTH_LONG).show();

原文由 karamjit singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题