Android TabLayout 类无法解析

Posted

技术标签:

【中文标题】Android TabLayout 类无法解析【英文标题】:Android TabLayout class not resolving 【发布时间】:2020-11-11 05:25:29 【问题描述】:

我无法让 TabLayout 解决。我已经尝试实现其他人为此问题推荐的所有依赖项,但它仍然无法正常工作。任何人都可以帮忙吗?是我试图在 androidx 旁边使用旧功能的问题吗?谢谢

第一部分: build.gradle

    apply plugin: 'com.android.application'

android 
    compileSdkVersion 30
    buildToolsVersion "30.0.0"

    defaultConfig 
        applicationId "com.example.instagramclone"
        minSdkVersion 16
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        
    


dependencies 
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    //Design
    implementation 'com.android.support:support-compat:30.0.0'
    implementation "com.android.support:support-core-utils:30.0.0"
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    implementation 'com.github.ittianyu:BottomNavigationViewEx:2.0.4'
    implementation "com.android.support:design:30.0.0"


第二部分:XML 文件

<merge xmlns:android="http://schemas.android.com/apk/res/android">

    <RelativeLayout
        android:layout_
        android:layout_
        android:layout_alignParentTop="true">

        <com.google.android.material.appbar.AppBarLayout
            android:layout_width='match_parent'
            android:layout_height = 'wrap_content'>

            <android.support.design.widget.TabLayout
                android:layout_
                android:layout_
                android:id="@+id/tabs"
                android:background="@drawable/white_grey_border_bottom">

            </android.support.design.widget.TabLayout>

        </com.google.android.material.appbar.AppBarLayout>

    </RelativeLayout>

</merge>

【问题讨论】:

清理、重建、清除 gradle 的缓存 【参考方案1】:

支持库 v.30.0.0存在。

删除这些依赖项:

//Design
//implementation 'com.android.support:support-compat:30.0.0'
//implementation "com.android.support:support-core-utils:30.0.0"
//implementation "com.android.support:design:30.0.0"

对于TabLayout,添加这个依赖:

implementation 'com.google.android.material:material:1.1.0'

并使用类com.google.android.material.tabs.TabLayout

【讨论】:

【参考方案2】:

除了 Gabriele 的建议之外,您还可以在 XML 文件中添加标签,例如

<com.google.android.material.tabs.TabLayout
         android:layout_
         android:layout_>

     <com.google.android.material.tabs.TabItem
             android:text="@string/tab_text"/>

     <com.google.android.material.tabs.TabItem
             android:icon="@drawable/ic_android"/>

 </com.google.android.material.tabs.TabLayout>

或者,如果您想以编程方式添加它们, 在你的 onCreate 中,做这样的事情,

tabLayout.addTab(tabLayout.newTab().setText("Tab 1"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 2"));
tabLayout.addTab(tabLayout.newTab().setText("Tab 3"));

【讨论】:

不错!感谢您的提示!

以上是关于Android TabLayout 类无法解析的主要内容,如果未能解决你的问题,请参考以下文章

无法使用TabLayout

片段无法加载到 View_pager tabLayout [重复]

空指针异常,android.widget.Tablayout.getChildAt(int)

Android原生TabLayout使用全解析,看这篇就够了

Android原生TabLayout使用全解析,看这篇就够了

“运行 android”时构建失败:无法解析类 com.android.build.OutputFile @ 第 3 行,第 1 列。导入 com.android.build.OutputFile