Sergey Android
Sergey Android

Reputation: 633

Can't find android.support.design.widget.Snackbar in support design library

I develop own library module where I use Snackbar.

Here is my Gradle file:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'me.zhanghai.android.materialprogressbar:library:1.1.4'
    compile 'com.android.support:design:23.1.1'
}

As you can see, I have added import com.android.support:design:23.1.1, but as result I get error:

error: package android.support.design.R does not exist

How can I solve this problem?

Upvotes: 53

Views: 86068

Answers (11)

Dev Asit
Dev Asit

Reputation: 133

After upgrading to androidx it will show error.You have to import this library

import com.google.android.material.snackbar.Snackbar;
 Snackbar snackbar = Snackbar.make(view, R.string.Mapview, Snackbar.LENGTH_INDEFINITE);
            View snackbarView = snackbar.getView();
            TextView textView = (TextView) snackbarView.findViewById(com.google.android.material.R.id.snackbar_text);
            textView.setMaxLines(5);
            snackbar.show();

Hope it will solve your problem.

Upvotes: 4

VikaS GuttE
VikaS GuttE

Reputation: 1704

If you are migrating to androidx then use

com.google.android.material.R.id.snackbar_text

instead of

android.support.design.R.id.snackbar_text

Don't miss to import import com.google.android.material.snackbar.Snackbar;

Also implement implementation "com.google.android.material:material:1.2.0-alpha02"

Upvotes: 10

erfanhy
erfanhy

Reputation: 51

Use implementation "com.android.support:design:23.0.0"

or Change the Sdk to 28 and use implementation "com.android.support:design:28.0.0"

Upvotes: 0

Max Izrin
Max Izrin

Reputation: 955

You must add the design dependency in your gradle file (module app) according to


AndroidX build artifact

implementation "com.google.android.material:material:1.1.0-alpha06"


Old build artifact

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


If you are using Support libraries, you can visit Support Library Packages  |  Android Developers, for the latest Design Support Library version. If you're new to AndroidX and want to use it, you can find more information about migrating to the new dependencies here.

Source: http://android-developers.blogspot.co.il/2015/05/android-design-support-library.html
(Scroll all the way down)

Upvotes: 95

jignesh k thanki
jignesh k thanki

Reputation: 71

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

set it in gradle.(module app) its working for me in android studio and device with orio.

Upvotes: 4

Jorgesys
Jorgesys

Reputation: 126455

To get the the Snackbar into our Android proyect just add the reference of support:design library inside the build.gradle file :

dependencies {
    ...
    ...
    compile 'com.android.support:design:25.0.1'
}

Be sure to sync your project with the gradle files sync gradle icon, this will fix your problem.


Your error message is:

error: package android.support.design.R does not exist

be sure to have the correct import:

import android.support.design.widget.Snackbar;

Upvotes: 11

yane
yane

Reputation: 311

I solved the problem now :)

  1. Open [File] -> [Project Structure...]

  2. Select [app] in the left pad

  3. Select [Dependencies] in the right tabs

  4. Click [+] button on the right side

  5. Select [1 Library dependency]

  6. Choose [com.android.support:design ~~]

  7. Click [OK] button and so on

Result: library added in [Project's External Libraries]

------ edit -----------------------------------

You can also add this External library in build.gradle(Module:app)

press Alt+Enter in build.gradle(Module:app)

-> add library dependency

-> choose what you need

and press "Sync Now" positioned up right corner

Upvotes: 21

Saleem Kalro
Saleem Kalro

Reputation: 1142

Dependencies may change with upgrading of android sdk versions, i am creating application in sdkversion 27. I have added the following dependency for snackbar.
implementation 'com.android.support:design:27.1.1'

Upvotes: 3

Amit Siddhpura
Amit Siddhpura

Reputation: 39

Just type fully qualified class name android.support.design.widget.SnackBar instead of just SnackBar at every occurrence . It solves the issue for me.

Upvotes: 2

Pavan Bilagi
Pavan Bilagi

Reputation: 1617

Try this

dependencies {
 compile fileTree(include: ['*.jar'], dir: 'libs')
 testCompile 'junit:junit:4.12'
 compile 'com.android.support:appcompat-v7:22.2.0'
 compile 'me.zhanghai.android.materialprogressbar:library:1.1.4'
 compile 'com.android.support:design:22.2.1'
 }

Upvotes: 3

Akhil Jayakumar
Akhil Jayakumar

Reputation: 2312

Remove Support v4 from your project and then add support design library.

Upvotes: 0

Related Questions