为什么 SwitchCompat 无法在 Android Studio 上运行?

3 java xml android android-studio

为什么 SwitchCompat 不工作并且有这个灰色矩形形状?我想我已经尝试了几乎所有的方法,但仍然不想工作。

摇篮文件:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

Run Code Online (Sandbox Code Playgroud)

xml代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ustawienia">

<com.google.android.material.appbar.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"/>

<include layout="@layout/content_ustawienia" />

    <android.support.v7.widget.SwitchCompat
        android:id="@+id/switch_animacja"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"/>
    
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

Md.*_*man 6

代替

android.support.v7.widget.SwitchCompat
Run Code Online (Sandbox Code Playgroud)

使用

androidx.appcompat.widget.SwitchCompat
Run Code Online (Sandbox Code Playgroud)

除此之外,你正在support libraryAndroidX library. 尝试删除它们,support library因为它们已被弃用。

如果您没有将项目干净地迁移,则通过从菜单栏中AndroidX选择Refactor > Migrate to AndroidXAndroid Studio并按Do Refactor来迁移它。

查看官方文档了解更多详情。