小编ben*_*enb的帖子

使用androidx的BottomNavigationView

我创建了一些应用程序,我想在其中插入一个 BottomNavigationView。

该代码运行良好,但是一旦我将 gradle 更改为 androidx,它就停止工作了。

我的布局中的组件 (activity_about):

<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:menu="@menu/bottom_navigation"
    app:itemBackground="@color/colorWhite"
    app:itemIconTint="@drawable/bottom_navigation_foreground"
    app:itemTextColor="@drawable/bottom_navigation_foreground" />
Run Code Online (Sandbox Code Playgroud)

菜单文件是:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:id="@+id/navigation_library"
    android:enabled="true"
    app:showAsAction="ifRoom"
    android:title="Library"
    android:icon="@drawable/ic_home_black_24dp"/>

<item
    android:id="@+id/navigation_search"
    android:enabled="true"
    app:showAsAction="ifRoom"
    android:title="Search"
    android:icon="@drawable/ic_search_black_24dp"/>

<item
    android:id="@+id/navigation_profile"
    android:enabled="true"
    app:showAsAction="ifRoom"
    android:title="Profile"
    android:icon="@drawable/ic_account_circle_black_24dp"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

可绘制文件(bottom_navigation_foreground):

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:color="@color/colorPurpleFont" />
    <item android:state_checked="false" android:color="@color/Gray"  />
</selector>
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

public class AboutActivity extends AppCompatActivity {

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_about);

        BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
        bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { …
Run Code Online (Sandbox Code Playgroud)

android bottomnavigationview material-components material-components-android androidx

24
推荐指数
1
解决办法
2万
查看次数