代码之家  ›  专栏  ›  技术社区  ›  Demonic218

在Android中实现材质设计时出错

  •  5
  • Demonic218  · 技术社区  · 6 年前

    我一直在阅读新材料设计网站,但我在实现它时遇到了一个问题。

    我目前使用的应用程序是一个简单的测试应用程序,只有一个按钮和一些文本视图。

    放置后出现问题 implementation 'com.google.android.material:material:1.0.0-alpha1' 在gradle文件中。

    这是我的身材。gradle(应用程序)文件

    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'
    
    android {
        compileSdkVersion 27
        defaultConfig {
            applicationId "com.example.user.firebasemessagingtest"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        //noinspection GradleCompatible
        implementation 'com.android.support:appcompat-v7:27.1.1'
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    
        implementation 'com.google.firebase:firebase-core:15.0.2'
        implementation 'com.google.firebase:firebase-messaging:15.0.2'
        implementation 'com.crashlytics.sdk.android:crashlytics:2.9.2'
        implementation 'com.google.firebase:firebase-ml-vision:15.0.0'
        implementation 'com.google.android.material:material:1.0.0-alpha1'
    }
    
    apply plugin: 'com.google.gms.google-services'
    

    我有4个错误,

    error: resource android:attr/dialogCornerRadius not found.
    error: resource android:attr/fontVariationSettings not found.
    error: resource android:attr/ttcIndex not found.
    error: failed linking references.
    

    我已将maven包含在gradle项目文件中,如文档中所述。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Community Dai    4 年前

    试试这个

    改变 compileSdkVersion 和支持库版本

    compileSdkVersion  'android-P'
    Support Libraries to '28.0.0-alpha1'
    

    和使用

     api 'com.android.support:design:28.0.0-alpha1'
    

    编辑

    更新SDK平台更新-Android P预览(最新)

    并且还使 targetSdkVersion 'P'

    Clean-Re_Build-Run 您的项目

    编辑2

    apply plugin: 'com.android.application'
    
    android {
    
        compileSdkVersion  'android-P'
    
        defaultConfig {
            applicationId "com.example.nilesh.testapp"
            minSdkVersion 19
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
        defaultConfig {
            vectorDrawables.useSupportLibrary = true
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        //noinspection GradleCompatible
        implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
        implementation 'com.android.support:support-v4:28.0.0-alpha1'
        compile 'com.android.support:design:28.0.0-alpha1'
        compile 'com.android.support:cardview-v7:28.0.0-alpha1'
    
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    
        testImplementation 'junit:junit:4.12'
    
        implementation 'com.google.android.material:material:1.0.0-alpha1'
    
    
        implementation 'com.google.firebase:firebase-core:15.0.2'
        implementation 'com.google.firebase:firebase-messaging:15.0.2'
        implementation 'com.crashlytics.sdk.android:crashlytics:2.9.2'
        implementation 'com.google.firebase:firebase-ml-vision:15.0.0'
    
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    }
    repositories {
        mavenCentral()
    }
    

    希望这有帮助

        2
  •  1
  •   Nur Ilyas    6 年前

    设置 compileSdkVersion 'android-P'

    将支持库与 编译SDK版本 .例如, implementation 'com.android.support:support-v4:28.0.0-alpha1' 而不是 implementation 'com.android.support:appcompat-v7:27.1.1'

    代替 implementation 'com.google.android.material:material:1.0.0-alpha1' 具有 api 'com.android.support:design:28.0.0-alpha1'

    应用程序 build.gradle 应该是这样的。

    apply plugin: 'com.android.application'
    
    apply plugin: 'kotlin-android'
    
    apply plugin: 'kotlin-android-extensions'
    
    android {
        compileSdkVersion 'android-P'
    
        defaultConfig {
            applicationId "com.wolfrevokcats.myapp"
            minSdkVersion 15
            targetSdkVersion 27
            versionCode 16
            versionName "2.3"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                debuggable false
                minifyEnabled true
                shrinkResources true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
            debug {
                debuggable false
                minifyEnabled false
                shrinkResources false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
        api 'com.android.support:design:28.0.0-alpha1'
        implementation 'com.android.support:support-v4:28.0.0-alpha1'
        implementation ('com.someone.addons:library:1.6.1@aar'){
            exclude group: 'com.android.support'
            exclude module: 'appcompat-v7'
            exclude module: 'support-v4'
        }
        implementation 'com.google.android.gms:play-services-location:15.0.1'
    
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    }
    

    'com.android.support:design:28.0.0-alpha1' 正在使用,我们的代码必须更改为 android.support.design 而不是 com.google.android.material 图书馆。下面是一个使用新的底部应用程序栏小部件的示例。

    <android.support.design.bottomappbar.BottomAppBar
            android:id="@+id/toolbar"
            style="@style/Widget.MaterialComponents.BottomAppBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            app:fabAttached="true"
            app:fabAlignmentMode="center"/>