标签: android-snackbar

有没有办法在Snackbar上添加图标?

这是我的Snackbar代码:

        Snackbar.make(viewHolder.productView, "Some Text Here ..", Snackbar.LENGTH_SHORT)
                .setAction("I want be a icon here instead TEXT", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        // Perform anything for the action selected
                    }
                })
                .show();
Run Code Online (Sandbox Code Playgroud)

反正有没有添加图标而不是文字.setAction

我知道谷歌建议不要在Snackbar中使用图标,但我想使用它.

android android-snackbar

22
推荐指数
4
解决办法
2万
查看次数

我们可以在Android中一次在Snack栏中执行2个不同的操作吗?

我正在创建一个Android应用程序,其中我想使用Snack Bar,在一个小吃店我想要2个不同的单词,我们必须执行2个不同的操作.

在此输入图像描述

android snackbar android-snackbar

21
推荐指数
2
解决办法
1万
查看次数

支持库中的Snackbar不包含OnDismissListener()?

我想实现最新设计支持库中包含的新Snackbar,但它的提供方式似乎与我的反直觉相比,而且我认为很多其他人使用它.

当用户执行重要操作时,我希望允许他们通过Snackbar撤消它,但似乎没有办法检测它何时被解除以执行操作.我有意义的做法如下:

  1. 用户采取行动.
  2. 显示Snackbar并更新UI,就像操作已完成一样(即看起来数据已发送到数据库,但实际上还没有).
  3. 如果用户按下"撤消",则还原UI更改.如果没有,当Snackbar被解散时,它将发送数据.

但是因为我没有看到任何可访问的OnDismissListener,所以我必须:

  1. 用户采取行动.
  2. 立即将信息发送到数据库并更新UI.
  3. 如果用户按下"撤消",则向数据库发送另一个调用以删除刚刚添加的数据并恢复UI更改.

我真的想避免不得不对数据库进行两次调用,只需在应用程序知道它是安全的时候发送一个(用户已经避免按"撤消").我注意到在第三方库中通过EventListener实现了这一点,但我真的很想坚持使用Google库.

android android-support-library android-design-library android-snackbar

20
推荐指数
1
解决办法
6231
查看次数

SnackBar和fitsSystemWindow

我有一个使用fitsSystemWindows的应用程序能够在Navigation-和Status-Bar后面绘制背景 - 不幸的是,SnackBar似乎忽略了容器中的fitsSystemWindows = true.我将问题归结为这个最小的应用程序:

问题

风格:

<resources>

    <style name="AppTheme" parent="Theme.AppCompat.Light">

        <item name="android:windowBackground">@color/accent_material_dark</item>
        <item name="android:fitsSystemWindows">false</item>

        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

布局:

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

                android:fitsSystemWindows="true"
                tools:context=".MainActivity">

    <Button

            android:id="@+id/button"
            android:text="@string/hello_world"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

活动:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View v) {
                Snackbar.make(v,"This Snackbar should fitSystemWindows",Snackbar.LENGTH_INDEFINITE).show();
            }
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

有人知道一些解决方法吗?

我发布了最小的应用程序来显示问题:https: //github.com/ligi/SnackBarFitsSystemWindowProblem

android android-design-library android-snackbar

20
推荐指数
1
解决办法
2529
查看次数

如何将Android SnackBar调整到屏幕上的特定位置

掌握新的android小吃吧,我试图将它设置为特定的y坐标.它似乎甚至不可能.

我已经尝试过获取快餐栏视图的父级,但是,没有什么可以做父母设置它的位置.

mSnackBar.getView().getParent();
Run Code Online (Sandbox Code Playgroud)

在挖掘实际的类时,有一个mView的实例,而mParent是私有的,无论如何都无法访问.

https://developer.android.com/reference/android/support/design/widget/Snackbar.html

android android-view snackbar android-snackbar

18
推荐指数
3
解决办法
2万
查看次数

在主题应用程序中的样式SnackBar

我需要帮助.如何在样式应用程序中更改snackbar中文本的设计?代码的变化对我不感兴趣.我找到了以下代码.但这对我不起作用.这是为什么?我的主题来自@ style/Theme.AppCompat.Light.DarkActionBar".我非常感谢你的帮助.

<style name="TextAppearance.Design.Snackbar.Message" parent="android:TextAppearance">
        <item name="android:textSize">10sp</item>
        <item name="android:textColor">#FEFEFE</item>
    </style>
    <style name="TextAppearance.Design.Snackbar.Action" parent="android:TextAppearance">
        <item name="android:textSize">16sp</item>
        <item name="android:textColor">#FEFEFE</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

android styles android-snackbar material-components material-components-android

18
推荐指数
4
解决办法
7263
查看次数

什么时候使用Snackbar isQueued()?(如何排队小吃店)

如果我连续多次调用快餐栏,则只显示最后一个零食栏项目.

例如,使用下面的代码,仅显示第3项.对于第1项和第2项,似乎忽略了Snackbar.LENGTH_LONG(并设置为零?).

Snackbar.make(view, "Item 1", Snackbar.LENGTH_LONG).show();
Snackbar.make(view, "Item 2", Snackbar.LENGTH_LONG).show();
Snackbar.make(view, "Item 3", Snackbar.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

但是在谷歌文档中,我看到可以对消息进行排队.

public boolean isShownOrQueued ()

Returns whether this Snackbar is currently being shown,
or is queued to be shown next.
Run Code Online (Sandbox Code Playgroud)

那么我们如何实际排队小吃店呢?

android android-snackbar

18
推荐指数
2
解决办法
2712
查看次数

当小吃栏在Android中显示时,浮动动作按钮不会上升

  1. 我在我的应用程序中使用小吃栏和FAB同一页,每当Snackbar显示浮动操作按钮不上升.

  2. 我使用第三方库attachToListView工作正常

    import com.melnykov.fab.FloatingActionButton;
    
    Run Code Online (Sandbox Code Playgroud)

如果我使用默认库"无法解析attachToListView"

import android.support.design.widget.FloatingActionButton;
Run Code Online (Sandbox Code Playgroud)

我的需要:

  1. attachToListView应该工作(当Listview向下滚动FAB时将消失).

  2. 每当Snackbar显示浮动操作按钮时应该上升.

帮帮我如何解决这个问题.

第三方图书馆链接

编辑:1

我删除了第三方库添加了默认导入(导入android.support.design.widget.FloatingActionButton),FAB正在上升但是Attachtolistivew没有解决.

编辑:2

我使用Listview在我的活动中,使用FAB和Snackbar.所以我需要像FAB一样的两个选项在Snackbar打开时以及当Listview向下滚动时应该隐藏FAB.

我的SnackBar代码:

 Snackbar snack = Snackbar.make(fab1, " Successfully ...!",Snackbar.LENGTH_SHORT);
                    View snackbarView = snack.getView();
                    snackbarView.setBackgroundColor(Color.parseColor("#f44336"));
                    snack.show();
Run Code Online (Sandbox Code Playgroud)

Main.java

import com.melnykov.fab.FloatingActionButton;
     @Override
        protected void onCreate(Bundle savedInstanceState) 
    {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.fabview);

            fab1 = (FloatingActionButton) findViewById(R.id.fab);

            fab1.setShadow(true);
            //fab.attachToListView(provider_service_list);

            //FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
            fab1.attachToListView(listViewData, new ScrollDirectionListener()
            {
                @Override
                public void onScrollDown() {
                    Log.d("ListViewFragment", "onScrollDown()"); …
Run Code Online (Sandbox Code Playgroud)

android floating-action-button android-snackbar

18
推荐指数
2
解决办法
8903
查看次数

AndroidX中的Snackbar包

迁移项目或在已迁移的分支之间切换时,Android Studio无法构建项目,因为它无法找到该android.support.design.widget.Snackbar程序包.删除了支持/设计包,但迁移表未列出此组件的正确新包.

android android-snackbar androidx

18
推荐指数
3
解决办法
6066
查看次数

改变小吃店的字体

我通过以下代码构建了snackbar:

Snackbar sb = Snackbar.make(drawer,  "message", Snackbar.LENGTH_LONG)
                .setAction("action", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {

                    }
                });
Run Code Online (Sandbox Code Playgroud)

现在我想更改消息和操作按钮的字体,但找不到任何解决方案,怎么做?

android android-snackbar

17
推荐指数
4
解决办法
6895
查看次数