标签: android-snackbar

从右到左SnackBar

我想在Design Support Library SnackBar上显示带有操作文本. 我的语言是从右到左写的.那么我该如何改变SnackBar文本和动作方向呢? 像这样的东西:



在此输入图像描述

android right-to-left android-snackbar

15
推荐指数
2
解决办法
3294
查看次数

如何从下到上更改Android Snackbar的初始对齐方式?

最近的android库就在几天前发布了,但是我希望它SnackBar出现在屏幕的顶部,最好是在RelativeLayout中,因为它是父视图.

怎样才能改变SnackBar这我相信是的初始对准layout_alignParentBottomlayout_alignParentTop

android material-design snackbar android-design-library android-snackbar

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

自定义主题干扰快餐栏背景颜色

试用新的设计支持库,我添加了一个小吃吧; 但与其主背景不同,文本区域未使用默认值着色#323232.相反,它看起来像这样.它似乎从android:background我自定义主题中定义的值中获取颜色styles.xml,如下所示:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="android:background">#4f4f5e</item>
    ...
</style>
Run Code Online (Sandbox Code Playgroud)

如果我试着用它强行着色

View snackbarView = snackbar.getView(); 
snackbarView.setBackgroundColor(Color.YELLOW);
Run Code Online (Sandbox Code Playgroud)

它只影响主背景,像这样,文本背景仍然被自定义主题着色.有没有办法保持我的自定义主题,并有一个标准的小吃吧?谢谢!

android material-design android-design-library android-snackbar androiddesignsupport

14
推荐指数
3
解决办法
1万
查看次数

Flaky Android Espresso Test - Snackbar

1)所有正在测试的设备/仿真器都禁用了动画.

2)我有一个@BeforeClass来构建我的Credentials对象.

3)我有一个在@Before中注册的IntenServiceIdlingResource和一个EventBusIdlingResource.

4)单击登录按钮时,IntentService将触发.在这种情况下,服务器(模拟服务器)返回500错误.该信息通过greenrobot的EventBus从IntentService发回UI,并显示Snackbar并显示错误消息.

这是测试的代码:

@Test
public void a_userNamePasswordTest() throws Exception {
    // email input
    ViewInteraction userNameView = onView(withId(R.id.email));

    // verify it's on screen and enabled
    userNameView.check(matches(isDisplayed())).check(matches(isEnabled()));

    // set the username
    userNameView.perform(scrollTo(), replaceText(credentials.username), closeSoftKeyboard());

    // password input
    ViewInteraction passwordView = onView(withId(R.id.password));

    // verify it's on screen and enabled
    passwordView.check(matches(isDisplayed())).check(matches(isEnabled()));

    // set the password.
    passwordView.perform(scrollTo(), replaceText(credentials.password), closeSoftKeyboard());

    // sign in button
    ViewInteraction signInButton = onView(withId(R.id.email_sign_in_button));

    // verify the button
    signInButton.check(matches(allOf(
            isDisplayed(), isEnabled(), withText("Sign In"), withContentDescription("Sign In")
    )));

    // clickity click the …
Run Code Online (Sandbox Code Playgroud)

android android-support-library android-espresso android-snackbar

14
推荐指数
1
解决办法
1513
查看次数

来自顶部的SnackBar.这可能吗?

我想SnackBar从顶部提供动画,而不是显示SnackBar从底部开始的常规行为.这很容易被破解吗?

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

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

如何禁用snackbar的轻扫到解雇行为

有没有办法阻止用户通过刷卡来解雇零食吧?

我有一个应用程序,在网络登录期间显示一个小吃店,我想避免它被解雇.

根据Nikola Despotoski的建议,我已经尝试了两种解决方案:

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 (MotionEventCompat.getActionMasked(event)) {
                    case MotionEvent.ACTION_DOWN: {
                        Log.i(TAG, "ACTION_DOWN");
                        mInitialTime = System.currentTimeMillis();
                        break;
                    }
                    case MotionEvent.ACTION_UP: {
                        Log.i(TAG, "ACTION_UP");
                        long clickDuration = System.currentTimeMillis() - mInitialTime;
                        if (clickDuration …
Run Code Online (Sandbox Code Playgroud)

android swipe dismiss snackbar android-snackbar

13
推荐指数
4
解决办法
7871
查看次数

在左侧滑动时关闭Snackbar

下面的简单代码显示Snackbar.

public void onClick(View view) {
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_INDEFINITE)
               .setAction("Action", null).show();
}
Run Code Online (Sandbox Code Playgroud)

onClick事件发生时,此代码正确显示Snackbar .

此外,这个小吃店可以通过轻扫手势解散.

但默认情况下,只有右键滑动才会关闭Snackbar.我无法用左键轻扫它.

如何在左侧轻扫时解雇小吃吧?

android onclick android-snackbar

13
推荐指数
3
解决办法
2587
查看次数

CoordinatorLayout有两个浮动动作按钮

我在CoordinateLayout视图中有两个Fab.当我展示Snackbar时,我希望两个Fab一起上升,但结果是只有一个Fab(较低的一个)响应并上升(见图).我在这里想念什么?

berfore 在此输入图像描述在此输入图像描述

叫小吃店

 mSnackbar = Snackbar.make(getActivity().findViewById(R.id.coords_wrapper), "Loading", 1000000000);   
Run Code Online (Sandbox Code Playgroud)

XML

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/coords_wrapper">

    <!-- main contents here, left out -->
    <Relativelayout ...... />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/action_button_location"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src ="@drawable/ic_add_black"
        android:layout_gravity="right|bottom"
        android:layout_marginBottom="82dp"
        android:layout_marginRight="16dp"
        app:borderWidth="0dp"
        app:elevation="6dp"
        />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/action_button_filter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src ="@drawable/ic_add_black"
        android:layout_gravity="right|bottom"
        android:layout_margin="16dp"
        app:borderWidth="0dp"
        app:elevation="6dp"
        />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

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

12
推荐指数
1
解决办法
7343
查看次数

带有 LENGTH_LONG 的 Snackbar 的实际持续时间是多少

由于我已将我的 Android 项目迁移到 AndroidX,我收到以下lint错误:

Error: Must be one of: Snackbar.LENGTH_INDEFINITE, Snackbar.LENGTH_SHORT, Snackbar.LENGTH_LONG [WrongConstant]
        Snackbar snackbar = Snackbar.make(rootView, message, sticky ? Snackbar.LENGTH_INDEFINITE : 4500
Run Code Online (Sandbox Code Playgroud)

因此,我现在没有定义自定义持续时间(4500 毫秒),而是使用Snackbar.LENGTH_LONG. 由于我正在实施一些基于时间的操作,这取决于小吃栏的可见时间,因此我需要知道Snackbar.LENGTH_LONG以毫秒为单位的实际持续时间。我如何找出那个值?

这些文档在这里并没有真正的帮助:

显示 Snackbar 一小段时间。

android lint android-snackbar androidx

12
推荐指数
1
解决办法
4646
查看次数

如何从非UI线程调用Snackbar.make()?

我可以Snackbar.make()从后台线程调用没有任何问题.这对我来说是令人惊讶的,因为我认为UI操作只允许来自UI线程.但这绝对不是这种情况.

究竟有什么Snackbar.make()不同?当您从后台线程修改它时,为什么这不会导致像任何其他UI组件一样的异常?

java user-interface multithreading android android-snackbar

11
推荐指数
1
解决办法
1510
查看次数