Android如何在单击按钮时更改底部导航项的颜色

时间:2018-07-24 06:11:04

标签: java android bottomnavigationview

bookAppoinmentBtn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(final View view) {
        MyapptsFragment myaaptsFragment = new MyapptsFragment();
        AppCompatActivity activity = (AppCompatActivity) view.getContext();
        activity.getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.frameLayout,myaaptsFragment)
            .addToBackStack(null)
            .commit();
    }
});

这里是单击按钮时要更改的片段。单击按钮时我要更改该片段的边框和底部导航项颜色。

1 个答案:

答案 0 :(得分:1)

您可以使用bottomNavigationView.setSelectedItemId()

  

设置所选菜单项的ID。行为与点击项目相同。

示例代码

    bookAppoinmentBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            MyapptsFragment myaaptsFragment = new MyapptsFragment();
            AppCompatActivity activity = (AppCompatActivity) view.getContext();
            activity.getSupportFragmentManager().beginTransaction().replace(R.id.frameLayout, myaaptsFragment).addToBackStack(null).commit();
           ((MyActivity)getActivity()).changeMenu(R.id.action_settings);

        }
    });

编辑

在这样的活动中创建一个方法

  public void changeMenu(int menuId){
        bottomNavigationView.setSelectedItemId(menuId);
    }

比在setOnClickListener中调用这样的呼叫

myImageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                ((MyActivity)getActivity()).changeMenu(R.id.action_settings);

            }
        });