问题
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?
回答1:
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)
回答2:
I solved the problem now :)
Open [File] -> [Project Structure...]
Select [app] in the left pad
Select [Dependencies] in the right tabs
Click [+] button on the right side
Select [1 Library dependency]
Choose [com.android.support:design ~~]
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
回答3:
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 , 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;
回答4:
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"
回答5:
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.
回答6:
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'
}
回答7:
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'
回答8:
Just type fully qualified class name android.support.design.widget.SnackBar instead of just SnackBar at every occurrence . It solves the issue for me.
回答9:
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.
回答10:
Remove Support v4 from your project and then add support design library.
回答11:
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"
来源:https://stackoverflow.com/questions/34263418/cant-find-android-support-design-widget-snackbar-in-support-design-library