我使用Snackbar
开发自己的库模块。
这是我的Gradle文件:
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'
}
正如您所看到的,我添加了import com.android.support:design:23.1.1
,但结果我收到错误:
错误:包android.support.design.R不存在
我该如何解决这个问题?
答案 0 :(得分:57)
您必须根据
在gradle文件(模块应用程序)中添加设计依赖项
implementation "com.google.android.material:material:1.1.0-alpha06"
implementation "com.android.support:design:28.0.0"
如果您使用的是支持库,则可以访问Support Library Packages | Android Developers,获取最新的Design Support Library版本。如果您是AndroidX的新用户并希望使用它,则可以找到more information about migrating to the new dependencies here。
来源:http://android-developers.blogspot.co.il/2015/05/android-design-support-library.html
(完全向下滚动)
答案 1 :(得分:18)
我现在解决了这个问题:)
打开[文件] - > [项目结构......]
在左侧栏中选择[app]
在右侧选项卡中选择[依赖关系]
点击右侧的[+]按钮
选择[1 Library dependency]
选择[com.android.support:design ~~]
单击[确定]按钮,依此类推
结果:库已添加 在[项目的外部图书馆]
------编辑-----------------------------------
您还可以在build.gradle(Module:app)
中添加此外部库在build.gradle(模块:应用程序)
中按Alt + Enter- >添加库依赖
- >选择你需要的东西
并按右上角的“立即同步”
答案 2 :(得分:11)
要将Snackbar放入我们的Android proyect,只需在build.gradle
文件中添加support:design library的引用:
dependencies {
...
...
compile 'com.android.support:design:25.0.1'
}
请务必将您的项目与gradle文件同步,这样可以解决您的问题。
您的错误消息是:
错误:包android.support.design.R不存在
确保输入正确:
import android.support.design.widget.Snackbar;
答案 3 :(得分:3)
试试这个
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'
}
答案 4 :(得分:3)
随着android sdk版本的升级,依赖关系可能会改变,我在sdkversion 27中创建了应用程序。我为snackbar添加了以下依赖项。
implementation 'com.android.support:design:27.1.1'
答案 5 :(得分:2)
只需输入完全限定的类名 android.support.design.widget.SnackBar 而不是每次都出现 SnackBar 。它解决了我的问题。
答案 6 :(得分:2)
升级到androidx后,它将显示错误。您必须导入该库
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();
希望它能解决您的问题。
答案 7 :(得分:1)
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-annotations:28.0.0'
在gradle中设置它。(模块应用) 它可以在Android Studio和带有Orio的设备上为我工作。
答案 8 :(得分:1)
如果您要迁移到androidx,请使用
com.google.android.material.R.id.snackbar_text
代替
android.support.design.R.id.snackbar_text
不要错过导入import com.google.android.material.snackbar.Snackbar;
还实施implementation "com.google.android.material:material:1.2.0-alpha02"
答案 9 :(得分:0)
从项目中删除Support v4,然后添加支持设计库。
答案 10 :(得分:0)
使用实现“ com.android.support:design:23.0.0”
或将SDK更改为28并使用 实现“ com.android.support:design:28.0.0”