Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Snackbar with API 21

I'm trying to implement the new Snackbars in my app but I can't. First of all I downloaded the zip file from this SnackBarSampleActivity.
I unziped it and then I import it in Eclipse. Now I get an error retrieving parent... for the theme parent in styles.xml.
I change it to android:Theme.Light and the error was gone. I right clicked the project and checked isLibrary in Properties/Android, I right clicked my app and in Properties/Android I add the library. Finally I paste the code to show a Snackbar but I get an error because Snackbar cannot be resolved.
Please somebody help me! I'm going crazy, what am I doing wrong?

like image 389
MattButtMatt Avatar asked Dec 15 '14 16:12

MattButtMatt


3 Answers

With the new Design Support Library you can use the official SnackBar Widget.

Just add this dependency to your app -> build.gradle:

implementation 'com.android.support:design:28.0.0'

And use something like:

Snackbar.make(view, "Snackbar", Snackbar.LENGTH_LONG).show();

enter image description here

Full Example, In Kotlin

        val fab = findViewById(R.id.btn_signin) as Button
        fab.setOnClickListener(View.OnClickListener { view ->
            Snackbar.make(view, "FloatingActionButton is clicked", Snackbar.LENGTH_INDEFINITE)
                    .setAction("Action", null).show()
        })
like image 159
Gabriele Mariotti Avatar answered Nov 03 '22 00:11

Gabriele Mariotti


You should try to use Android Studio, because the ADT plugin for Eclipse is no longer in active development.

In Android Studio, you just need to add a line compile 'com.nispok:snackbar:2.6.1' in your build.gradle dependencies, such that

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.2'
    compile 'com.nispok:snackbar:2.6.1'
}

That's it.

like image 35
bjiang Avatar answered Nov 03 '22 01:11

bjiang


If you are facing "not resolved to a type" issue in Eclipse for Snackbar, this worked for me.

Right click on Project->BuildPath->Configure Buildpath Click on Libraries Tab and then click on Add external Libraries.

Select {path of adt}/sdk/extras/android/support/design/libs Select android-support-design.jar, Click Open to add this library.

Click Ok.

Final Window

like image 26
Junaid Avatar answered Nov 03 '22 01:11

Junaid