Can';在支持设计库中找不到android.support.design.widget.Snackbar
我使用Can';在支持设计库中找不到android.support.design.widget.Snackbar,android,android-support-library,Android,Android Support Library,我使用Snackbar开发自己的库模块 这是我的Gradle文件: apply plugin: 'com.android.library' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionNa
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不存在
如何解决此问题?从项目中删除Support v4,然后添加Support design library。试试这个
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'
}
必须根据以下说明在gradle文件(模块应用程序)中添加设计依赖项
AndroidX构建工件
旧构建工件
如果使用的是支持库,则可以访问,以获取最新的设计支持库版本。如果您是AndroidX新手,并且想使用它,您可以找到 来源:
(一直向下滚动)我现在解决了这个问题:)
然后按右上角的“立即同步”只需键入完全限定的类名android.support.design.widget.SnackBar 而不是每次出现时都使用SnackBar。它为我解决了这个问题。要将该应用程序加入到我们的Android项目中,只需在
build.gradle
文件中添加支持:设计库的引用:
dependencies {
...
...
compile 'com.android.support:design:25.0.1'
}
请确保将您的项目与gradle文件同步,这将解决您的问题
您的错误消息是: 错误:程序包android.support.design.R不存在 请确保具有正确的导入:
import android.support.design.widget.Snackbar;
依赖关系可能会随着android sdk版本的升级而改变,我正在sdkversion 27中创建应用程序。我为snackbar添加了以下依赖项。
implementation'com.android.support:design:27.1.1'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-annotations:28.0.0'
在渐变中设置。(模块应用程序)
它在android studio和orio设备中为我工作。使用实现“com.android.support:design:23.0.0”
或者将Sdk更改为28并使用
实现“com.android.support:design:28.0.0”如果要迁移到androidx,请使用
com.google.android.material.R.id.snackbar\u text
而不是
android.support.design.R.id.snackbar\u text
不要错过导入import com.google.android.material.snackbar.snackbar代码>
同时实现implementation“com.google.android.material:material:1.2.0-alpha02”
升级到androidx后,它将显示错误。您必须导入此库
import com.google.android.material.snackbar.Snackbar;
希望它能解决您的问题。事实上,您在大宗报价中输入的导入包是不正确的。这是正确的路径导入android.support.design.widget.Snackbar
将您的构建工具版本更改为23.1.1添加,编译'com.android.support:design:23.0.0'。如果您要迁移到Androidx,那么这可能会有所帮助。我添加了compilecom.android.support:design:23.1.1'
。更改后的版本之间有什么区别吗?代码方面没有什么重要的区别,但我在项目启动后更改版本时遇到了很多问题,因此我只能假设还有一些其他设置需要更改。如果必须更改版本,请尝试启动新项目并导入所有代码和资产。如果使用android x
dependency soimplementation“com.google.android.material:material:1.0.0-rc01”
如果您要迁移到Androidx,这可能也有助于解决我的问题。如果您要迁移到Androidx,这可能会有所帮助
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:support-annotations:28.0.0'
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();