Android L中是否有Snackbar的代码,或者我们是否希望自己实现它们?

Android L中是否有Snackbar的代码,或者我们是否希望自己实现它们?,android,android-5.0-lollipop,android-toast,material-design,Android,Android 5.0 Lollipop,Android Toast,Material Design,Material design网站提到了一种新的类似烤面包的元素,称为Snackbar: Android L preview SDK文档(抱歉,因为它只能下载,所以无法链接)在类列表中没有提到Snackbar,或者在Toast类文档中没有提到Snackbar作为修饰符。我是否遗漏了一些明显的东西,还是应该构建自己的Snackbar.java?也许可以在这里查看一下。 我猜本机版本最终会出现在sdk中。我同意这有点奇怪。更新2015-05-29: 谷歌发布了一个包括a和其他材质设计小部件的 原始

Material design网站提到了一种新的类似烤面包的元素,称为Snackbar:


Android L preview SDK文档(抱歉,因为它只能下载,所以无法链接)在类列表中没有提到Snackbar,或者在Toast类文档中没有提到Snackbar作为修饰符。我是否遗漏了一些明显的东西,还是应该构建自己的Snackbar.java?

也许可以在这里查看一下。


我猜本机版本最终会出现在sdk中。我同意这有点奇怪。

更新2015-05-29:

谷歌发布了一个包括a和其他材质设计小部件的

原始答案中提到的Snackbar库现在已被弃用

原始答案

我相信谷歌最终会将它包括在未来的SDK中,还有一个浮动操作按钮,预览SDK中也没有

正如@friedrich nietzche所指出的,我实现了一个库,在您的项目中包含一个
Snackbar

希望有帮助

FWIW


在中似乎没有
Snackbar
实现。我还实现了一个,目的是尽可能接近。谢谢。

Snackbar实际上只是一个有一些边距的工具。当前形式的Crouton仅支持添加到视图组的开始(第0项),但是您可以在以下位置找到对Crouton的“strayan”增强功能:DownUnderMode。
请注意,官方的Crouton library和DownUnderMode版本有点不同步(希望在2058年接受DownUnderMode pull请求时得到修复)。

使用设计库,我们可以为Android 2.1以后的所有版本实现

下面是工作示例代码


如果您需要任何帮助,请发表评论。

以下是在android中实现snackbar的简单方法

第一步。添加支持库23并使用

compile 'com.android.support:appcompat-v7:23.0.1'
第二步。在活动文件中添加坐标布局

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/coordinatorLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">


</android.support.design.widget.CoordinatorLayout>
希望这对你有用


有关更多android教程,请访问此博客:

请记住,L是一个预览版;仅仅因为我没有
Snackbar
,并不意味着Android 5.0(或任何有编号的)将没有
Snackbar
。我明白了,但所有其他新的东西都在预览SDK中有代码,这似乎是他们忘记或没有准备好或不打算添加自己的东西。我只是想知道是否有人找到了代码或实现了自己的版本。嗯…生产sdk中似乎仍然缺少。我看到谷歌其他员工的博客说,随着时间的推移,可能会有更多的更新,但奇怪的是,现在还没有更新。似乎不可能通过左/右滑动来消除这些更新,而且动画有点奇怪。这是因为我遵循材料设计准则。通过向上/向下而不是向左/向右滑动来消除,这也是动画的来源。这是一个很奇怪的视频。它就像临时通知一样,可以被撤销,但需要一种不同的方式来撤销?但它不在列表中,也不在集合中——它是一个单一的单元。没错,但我没想到。我现在尝试在Gmail上显示它,并注意到了同样的行为(向下滑动)。我认为这是不舒服的,而不是直观的NACKBAR支持最近添加到Android支持库修订版22.2.0:
public class MainActivity extends AppCompatActivity {

    CoordinatorLayout coordinatorLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
        ShowSnack();
    }

    public void ShowSnack() {
        Snackbar snackbar = Snackbar.make(coordinatorLayout, "Snackbar Label", Snackbar.LENGTH_LONG);
        snackbar.setAction("Action", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Action", Toast.LENGTH_LONG).show();
            }
        });
        snackbar.setActionTextColor(Color.RED);
        View snackbarView = snackbar.getView();
        snackbarView.setBackgroundColor(Color.DKGRAY);
        TextView textView = (TextView) snackbarView.findViewById(android.support.design.R.id.snackbar_text);
        textView.setTextColor(Color.YELLOW);
        snackbar.show();
    }
}