无法导入android.support.design.internal*

无法导入android.support.design.internal*,android,android-support-library,androidx,android-support-design,material-components-android,Android,Android Support Library,Androidx,Android Support Design,Material Components Android,正在尝试删除底部导航栏上的动画。 我的Gradle与库正确同步 implementation 'com.android.support:design:29.0.0' 我试着检查过去对这类问题的答案,但仍然是错误的 导入语句中的设计关键字显示为红色 这是我的助手类 package com.shubham.exp; import android.util.Log; import android.support.design.internal.BottomNavigationItemView;

正在尝试删除底部导航栏上的动画。 我的Gradle与库正确同步

implementation 'com.android.support:design:29.0.0'
我试着检查过去对这类问题的答案,但仍然是错误的 导入语句中的设计关键字显示为红色

这是我的助手类

package com.shubham.exp;

import android.util.Log;

import android.support.design.internal.BottomNavigationItemView;
import android.support.design.internal.BottomNavigationMenuView;

import com.google.android.material.bottomnavigation.BottomNavigationItemView;
import com.google.android.material.bottomnavigation.BottomNavigationMenuView;
import com.google.android.material.bottomnavigation.BottomNavigationView;

import java.lang.reflect.Field;

public class helper {
    public static void disableShiftMode(BottomNavigationView view) {
        BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
        try {
            Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
            shiftingMode.setAccessible(true);
            shiftingMode.setBoolean(menuView, false);
            shiftingMode.setAccessible(false);
            for (int i = 0; i < menuView.getChildCount(); i++) {
                BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i);
                //noinspection RestrictedApi
                item.setShiftingMode(false);
                // set once again checked value, so view will be updated
                //noinspection RestrictedApi
                item.setChecked(item.getItemData().isChecked());
            }
        } catch (NoSuchFieldException e) {
            Log.e("BNVHelper", "Unable to get shift mode field", e);
        } catch (IllegalAccessException e) {
            Log.e("BNVHelper", "Unable to change value of shift mode", e);
        }
    }
}
package com.shubham.exp;
导入android.util.Log;
导入android.support.design.internal.BottomNavigationItemView;
导入android.support.design.internal.BottomNavigationMenuView;
导入com.google.android.material.bottomnavigation.BottomNavigationItemView;
导入com.google.android.material.bottomnavigation.BottomNavigationMenuView;
导入com.google.android.material.bottomnavigation.BottomNavigationView;
导入java.lang.reflect.Field;
公营助理员{
公共静态void disableShiftMode(底部导航视图){
BottomNavigationMenuView menuView=(BottomNavigationMenuView)视图;
试一试{
Field shiftingMode=menuView.getClass().getDeclaredField(“MSShiftingMode”);
换档模式。设置可访问(真);
shiftingMode.setBoolean(菜单视图,false);
换档模式。设置可访问(错误);
对于(int i=0;i
错误:程序包android.support.design.internal不存在


支持库29.0.0。拆下这条线

//implementation 'com.android.support:design:29.0.0'
您有两种选择:

  • 迁移到androidx并使用
    implementation'com.google.android.material:material:1.0.0

  • 使用支持库28.0.0:
    implementation'com.android.support:design:28.0.0'

最后,删除内部包的导入(您不需要它们)


有了新的
AndroidX
工件,不再使用支持库。因此,您必须将其迁移到
AndroidX
(如果您还没有这样做),并且在上面的代码中,您需要删除包导入

import android.support.design.internal.BottomNavigationItemView; 
import android.support.design.internal.BottomNavigationMenuView;

感谢您的帮助,我能够运行该项目。但无法在selectHi@AmAteur8BP上停止动画。这是另一个问题。这与你的问题无关。你不妨考虑问一个单独的问题。此外,还不清楚你想要实现什么。
import android.support.design.internal.BottomNavigationItemView; 
import android.support.design.internal.BottomNavigationMenuView;