Articles of android snackbar

如何在Snackbar或Toast / Textview中显示表情/表情符号

我正在尝试在Snackbar / Toast通知中添加表情/表情符号。 这个表情符号是否需要图像资源或Unicode字符。 当我从下面的网站Unicode字符网站使用Unicode字符时,我得到string输出。 Snackbar.make(findViewById(android.R.id.content), \U+1F601 + "Done", Snackbar.LENGTH_LONG).show();

使用CoordinatorLayout时,AdView和FloatingActionButton重叠

将新的CoordinatorLayout合并到我的一个布局中之后,我遇到了Adview与FloatingActionButton重叠的问题。 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="@dimen/fab_margin" android:src="@drawable/ic_done" /> </android.support.design.widget.CoordinatorLayout> 来源: https : //github.com/chrisbanes/cheesesquare/blob/master/app/src/main/res/layout/include_list_viewpager.xml 如果我采用相同的布局,并在FloatingActionButton下方包含AdView ,则会导致FloatingActionButton不再使用SnackBars : <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout […]

具有SnackBar和CoordinatorLayout的FloatingActionButton将不适用于proguard

启用proguard时,这段简单的代码将无法正常工作: <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/show" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="top" android:layout_marginTop="40dp" android:text="Show snackbar" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_margin="16dp" android:src="@drawable/ic_save_white_24dp" app:layout_anchorGravity="bottom|right|end" /> </android.support.design.widget.CoordinatorLayout> 期望的行为是当FloatingActionButton在显示时被推到SnackBar ,但是直到禁用了proguard才会发生。 没有教程也涵盖了这一点,因为新项目默认情况下禁用了proguard;) 有没有人知道devise支持库的proguardconfiguration?

如何禁用小吃棒的轻扫 – 解散行为

有没有一种方法来防止用户通过滑动快餐栏来解雇? 我有一个在networkinglogin时显示小吃店的应用程序,我想避免它被解雇。 根据Nikola Despotoski的build议,我已经尝试了两种解决scheme: private void startSnack(){ loadingSnack = Snackbar.make(findViewById(R.id.email_login_form), getString(R.string.logging_in), Snackbar.LENGTH_INDEFINITE) .setAction("CANCEL", new OnClickListener() { @Override public void onClick(View view) { getOps().cancelLogin(); enableControls(); } }); loadingSnack.getView().setOnTouchListener(new View.OnTouchListener() { public long mInitialTime; @Override public boolean onTouch(View v, MotionEvent event) { if (v instanceof Button) return false; //Action view was touched, proceed normally. else { switch […]

Snackbar在按动button的同时隐藏浮动动作

我正在做小吃店和浮动行动button。 我使用协调员布局来使浮动操作button在快餐栏显示时出现/移动。 问题是我保持小吃店的行动。 点击浮动button时,小吃店popup,浮动操作button向上移动。 而当我按快餐行动项目时,浮动行动button隐藏在儿童小吃店下面。 而且,如果我连续按浮动动作button,那么也浮动动作button变得隐藏。 以下是我的代码。 activity_main.xml中 <RelativeLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.dev.firsttest.Screen2" > <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary_color"></android.support.v7.widget.Toolbar> <android.support.design.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/coordinatorlayout"> <android.support.design.widget.FloatingActionButton android:id="@+id/searchfab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_marginBottom="20dp" android:layout_marginRight="20dp" android:src="@drawable/ic_add_black_24dp" app:fabSize="normal"> </android.support.design.widget.FloatingActionButton> </android.support.design.widget.CoordinatorLayout> 主要活动 Toolbar toolbar; FloatingActionButton searchfab; CoordinatorLayout coordinatorLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_screen2); toolbar = (Toolbar)findViewById(R.id.toolbar); setSupportActionBar(toolbar); […]

pipe理当前的View和Class <?>对象

我有一个应用程序范围的实用类AppUtils,我可以在这里发布应用程序的相关信息: 无论是作为一个SnackBar,当我在应用程序中 或通过通知pipe理器 例如当mesaages是作为一个Snackbar时,我需要当前显示的视图容器的轨道在Snackbar.make(view, text, length);使用它Snackbar.make(view, text, length); 当我想通过NotificationManager.notify(int, Builder);发布消息的时候NotificationManager.notify(int, Builder); 我需要在这里的类签名 Intent resultIntent = new Intent(this, ResultActivity.class); 因此,我在我的AppUtils: public static void setCurrentViewAndClass(View v, Class<?> c) { view = v; // view is static cls = c; // cls is static } 我可以从我的项目中的任何地方记住当前视图(对于Snackbar参数)和cls(对于通知意图)。 进一步来说,我清除这些参数,例如,当我离开应用程序的背景: public static void clearCurrentViewAndClass() { view = null; cls = null; […]

将Snackbar放在最高的z顺序,以避免被AutoCompleteTextView下拉菜单阻塞

我有一个Snackbar ,如下所示: 但是,如果AutoCompleteTextView的下拉太长,下拉将会阻止Snackbar 。 正如你在上面的图片中看到的那样, Snackbar实际上正在显示。 然而,它的知名度是由长期下降阻止。 你可以从上面的图片看到 我尝试使用以下Snackbar code 。 添加bringToFront()没有多大帮助。 private void showSnackbar(String message) { Snackbar snackbar = Snackbar.make(getActivity().findViewById(R.id.content), message, Snackbar.LENGTH_LONG); snackbar.getView().bringToFront(); snackbar.show(); } R.id.content是一个CoordinatorLayout : <android.support.design.widget.CoordinatorLayout android:id="@+id/content" android:background="?attr/MyActivityBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:foreground="?attr/headerShadow" /> 有没有什么好办法,以避免Snackbar由AutoCompleteTextView的下拉?

更改小吃店的字体

我通过此代码构build快餐栏: Snackbar sb = Snackbar.make(drawer, "message", Snackbar.LENGTH_LONG) .setAction("action", new View.OnClickListener() { @Override public void onClick(View view) { } }); 现在我想改变消息和动作button的字体,但不能find任何解决scheme,如何做到这一点?

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

Follwing新的android snackbar,我试图把它设置在一个特定的y坐标。 它似乎甚至不可能。 我已经尝试了获得小吃店的视图的父母,但是,对于父母来说,没有任何事情可以设置它的位置。 mSnackBar.getView().getParent(); 在挖掘实际的类时,有一个mView的实例,而mParent是私有的,不能以任何方式到达。 https://developer.android.com/reference/android/support/design/widget/Snackbar.html

ArrayIndexOutOfBoundsException,同时closuresSnackbar / ViewDragHelper

在我的一些应用程序中实现新的Snackbar后,我收到以下错误: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1 at android.support.v4.widget.ViewDragHelper.shouldInterceptTouchEvent(SourceFile:1014) at android.support.design.widget.SwipeDismissBehavior.onInterceptTouchEvent(SourceFile:188) at android.support.design.widget.Snackbar$Behavior.onInterceptTouchEvent(SourceFile:659) at android.support.design.widget.Snackbar$Behavior.onInterceptTouchEvent(SourceFile:641) at android.support.design.widget.CoordinatorLayout.performIntercept(SourceFile:343) at android.support.design.widget.CoordinatorLayout.onInterceptTouchEvent(SourceFile:376) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1827) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2241) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1946) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1968) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1420) at android.app.Activity.dispatchTouchEvent(Activity.java:2428) at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:59) at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(SourceFile:59) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1916) at […]