尝试从材质组件渲染MaterialButton时出错

时间:2018-08-24 04:24:24

标签: android material-components material-components-android

我遵循了入门指南here,目前我不想迁移到body{ margin: 0; overflow: hidden; } #main{ position: fixed; top: 0; left: 0; width: 15%; height: 100%; background-color: #ddeaf1; } .table{ display: table; width: 100vw; height: 100vh; } .table-cell{ display: table-cell; vertical-align: middle; text-align: center; } .menu{ background-color: white; width: 30%; margin: auto; display: flex; align-content: flex-start; flex-flow: row wrap; justify-content: space-around; border-radius: 10px; -moz-box-shadow: 0px 0px 5px 0px #c0c0c0; -webkit-box-shadow: 0px 0px 5px 0px #c0c0c0; -o-box-shadow: 0px 0px 5px 0px #c0c0c0; box-shadow: 0px 0px 5px 0px #c0c0c0; filter:progid:DXImageTransform.Microsoft.Shadow(color=#c0c0c0, Direction=NaN, Strength=5); } @media all and (max-width: 900px){ .menu{ width: 80%; } } .menu-item{ font-size: 17px; flex: 1; padding: 25px; transition: all .2s; cursor: pointer; color: #636363; background-color: white; border-radius: 10px; position: relative; } .menu-item > span{ display: block; position: absolute; text-transform: uppercase; font-size: 10px; font-weight: 200; color: white; left: 5px; right: 5px; border-radius: 5px; background-color: #226eab; padding: 5px; opacity: 0; transition: all .2s .1s; transform: translateY(70px); z-index: -1; } .menu-item:hover{ -moz-box-shadow: 0px 0px 5px 0px #c0c0c0; -webkit-box-shadow: 0px 0px 5px 0px #c0c0c0; -o-box-shadow: 0px 0px 5px 0px #c0c0c0; box-shadow: 0px 0px 5px 0px #c0c0c0; filter:progid:DXImageTransform.Microsoft.Shadow(color=#c0c0c0, Direction=NaN, Strength=5); flex: 2; color: #226eab; transform: scale(1.1); z-index: 3; } .menu-item:hover > span{ transform: translateY(35px); opacity: 1; } #wrap{ width: 95%; min-width: 900px; margin-left: 18%; } #wrap1{ width: 95%; min-width: 900px; margin-left: 80%; } ,所以我这样做了:

  • 确保我具有正确的存储库

  • 已将androidx添加到我的依赖项中,因为“入门”教程指出,这是我不想迁移到com.android.support:design:28.0.0-rc01时唯一需要做的事情。

  • 确保androidx是28

  • 切换到compileSdkVersion

  • 下载了Android P SDK和来源(但未包含未在图像上的其余所有内容): enter image description here

  • 确保我正在使用Theme.MaterialComponents.Light.NoActionBar

  • 重建项目

我仍然收到错误:

  

找不到以下类:   -com.google.android.material.button.MaterialButton

enter image description here

我想念什么?

3 个答案:

答案 0 :(得分:1)

您不应使用com.google.android.material包,而应使用com.android.support。 就您而言 android.support.design.button.MaterialButton

答案 1 :(得分:0)

我在使用android.com和com.google.android.material的Android Studio 3.2候选版本中遇到了这个问题。

我升级到3.3金丝雀,尽管我现在还有其他(不相关?)问题(运行时膨胀失败等),但该特定问题消失了。

我找不到任何说明布局编辑器正常工作所需的Android Studio版本的文档。

答案 2 :(得分:0)

  1. 确保“存储库”部分包含Google的Maven存储库google()。例如:

    allprojects {
        repositories {
          google()
    
    allprojects {
        repositories {
          google()
          jcenter()
        }
      }
    
  2. 将库添加到依赖项部分:

    implementation 'com.google.android.material:material:1.0.0'
    dependencies {
    
    
    
    
    // ...
        implementation 'com.google.android.material:material:1.0.0'
    // ...
    }