【发布时间】:2020-02-09 02:51:36
【问题描述】:
我正在尝试在 Android 项目中使用 SwitchMaterial 组件,但是 Android Studio 在设计时找不到它,并且将其包含在我的 xml 布局中会在运行时导致 ClassNotFoundException。
- 最近的 Android Studio 项目,因此已经使用 AndroidX 进行设置
-
'com.google.android.material:material:1.0.0'在我的依赖项中,并且 gradle 同步没有错误 - 还有一些其他的 Material 组件,例如我在同一个 XML/Activity 上使用
MaterialButton - 无法在 xml 中找到
com.google.android.material.switchmaterial.SwitchMaterial - 尝试添加到活动 java 单元时无法导入
com.google.android.material.switchmaterial.SwitchMaterial - 构建设置:编译 SDK = 29 构建工具 = 29.0.2 最小 SDK = 19 目标 SDK = 29
- 没有设置 proguard 规则(根本没有),所以不应该弄乱它
- 花了一个小时在谷歌上搜索答案 - 没有关于 SO 或 Android / Material Docs 的内容
即使有其他组件也找不到SwitchMaterial
app build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "my.app.id"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "0.0.1"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "6g"
}
lintOptions {
lintConfig file("lint.xml")
showAll false
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.github.bumptech.glide:glide:4.10.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.google.code.gson:gson:2.8.6'
}
XML 布局
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/login_notificationsSwitchFamily"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_10"
android:checked="true"
android:text="Family Friendly"
android:textSize="@dimen/textSize_16" />
感谢任何帮助。我不明白为什么会缺少组件。
【问题讨论】:
-
翻阅GitHub上
SwitchMaterial.java文件的history,可以看到在1.1.0-alpha01:github.com/material-components/material-components-android/…中引入了该类 -
干杯 Edric,正如 Gabriele 在下面建议的那样,我现在使用的是 1.1.0-beta01,它添加了完整的列表。感谢您的检查。干杯
标签: java android material-design material-components material-components-android