Is there code for Snackbars in Android L or are we expected to implement them ourselves?

后端 未结 6 1264
孤街浪徒
孤街浪徒 2020-12-16 12:48

The Material design website mentions a new Toast-like element called a Snackbar: http://www.google.com/design/spec/components/snackbars-and-toasts.html

The Android L

相关标签:
6条回答
  • FWIW,

    It would appear that there is no Snackbar implementation in the L Developer Preview. I've also implemented a Snackbar library with the intentions of being as close to the material design guidelines as I can. Thanks.

    0 讨论(0)
  • 2020-12-16 13:17

    Snackbar is effectively just a Crouton with some margins. Crouton in its current form only supports adding to start (0th item) of a ViewGroup, however you can find the very "strayan" enhancement to Crouton, DownUnderMode, at my github. Just beware that the official Crouton library and DownUnderMode version are a little out of sync (which will hopefully be fixed in the year 2058 when the DownUnderMode pull request is accepted).

    0 讨论(0)
  • 2020-12-16 13:20

    Mabye take a look at this here. http://www.williammora.com/2014/08/snackbar-android-library.html

    I am guessing the native version will show up in the sdk eventually. It is a bit odd I agree.

    0 讨论(0)
  • 2020-12-16 13:26

    Using design library we can implement for all the versions of Android 2.1 onward.

    Here is the working example code http://www.feelzdroid.com/2015/06/snackbar-android-example-using-design-support-library.html.

    If you need any help, drop comment.

    0 讨论(0)
  • 2020-12-16 13:27

    Here is simple way to implement snackbar in android

    Step 1. Add support library 23 and compile your project with

    compile 'com.android.support:appcompat-v7:23.0.1'
    

    Step 2. Add coordinate layout in your activity file

    <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>
    

    Step 3. Now add following code in your MainActivity.java to implement 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();
        }
    }
    

    Hope this will work for you.

    For more android tutorial please follow this blog: Trinity Tuts

    0 讨论(0)
  • 2020-12-16 13:30

    Update 2015-05-29:

    Google released a Design Support Library which includes a Snackbar and other Material Design widgets.

    The Snackbar lib mentioned in the original answer is now deprecated.

    Original answer

    I'm sure Google will eventually include it in a future SDK, along with a Floating Action Button that is also missing in the preview SDK.

    As @friedrich nietzche pointed out, I implemented a library to include a Snackbar in your project.

    https://github.com/nispok/snackbar

    Hope it helps!

    0 讨论(0)
提交回复
热议问题