Material design 网站提到了一个新的类似 Toast 的元素,称为 Snackbar:http ://www.google.com/design/spec/components/snackbars-and-toasts.html
Android L 预览版 SDK 文档(抱歉,无法链接,因为它只能下载)在类列表中没有提及 Snackbar,也没有在 Toast 类文档中作为修饰符提及。我是否遗漏了一些明显的东西,还是应该构建自己的 Snackbar.java?
Material design 网站提到了一个新的类似 Toast 的元素,称为 Snackbar:http ://www.google.com/design/spec/components/snackbars-and-toasts.html
Android L 预览版 SDK 文档(抱歉,无法链接,因为它只能下载)在类列表中没有提及 Snackbar,也没有在 Toast 类文档中作为修饰符提及。我是否遗漏了一些明显的东西,还是应该构建自己的 Snackbar.java?
2015 年 5 月 29 日更新:
Google 发布了一个设计支持库,其中包括一个Snackbar和其他 Material Design 小部件。
原始答案中提到的 Snackbar 库现已弃用。
原始答案
我确信谷歌最终会将它包含在未来的 SDK 中,以及预览 SDK 中也缺少的浮动操作按钮。
正如@friedrich nietzche 指出的那样,我实现了一个库以将 a 包含Snackbar
在您的项目中。
https://github.com/nispok/snackbar
希望能帮助到你!
FWIW,
L Developer Preview中似乎没有Snackbar
实现。我还实现了一个Snackbar 库,目的是尽可能接近材料设计指南。谢谢。
Mabye在这里看看这个。 http://www.williammora.com/2014/08/snackbar-android-library.html
我猜原生版本最终会出现在 sdk 中。我同意这有点奇怪。
Snackbar 实际上只是一个有一些利润的面包块。当前形式的 Crouton 仅支持添加到 ViewGroup 的开始(第 0 项),但是您可以在我的 github上找到对 Crouton 的“strayan”增强功能 DownUnderMode 。请注意,官方 Crouton 库和 DownUnderMode 版本有点不同步(希望在 2058 年接受 DownUnderMode 拉取请求时修复)。
使用设计库,我们可以为 Android 2.1 及以后的所有版本实现。
这是工作示例代码http://www.feelzdroid.com/2015/06/snackbar-android-example-using-design-support-library.html。
如果您需要任何帮助,请发表评论。
这是在android中实现snackbar的简单方法
步骤 1. 添加支持库 23 并使用
compile 'com.android.support:appcompat-v7:23.0.1'
步骤 2. 在您的活动文件中添加坐标布局
<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>
第 3 步。现在在 MainActivity.java 中添加以下代码来实现snackbar
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();
}
}
希望这对你有用。
更多安卓教程请关注此博客:Trinity Tuts