Android 如何在单击按钮时更改底部导航项的颜色
Android how to change bottom navigation item color when button is clicked
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();
}
});
这里我在按钮为 clciked.I 时更改片段 clciked.I 想要在单击按钮时更改该片段的框架和底部导航项颜色。
您可以使用bottomNavigationView.setSelectedItemId()
Set the selected menu item ID. This behaves the same as tapping on an item.
示例代码
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);
}
});
编辑
像这样在 activity 中创建一个方法
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);
}
});
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();
}
});
这里我在按钮为 clciked.I 时更改片段 clciked.I 想要在单击按钮时更改该片段的框架和底部导航项颜色。
您可以使用bottomNavigationView.setSelectedItemId()
Set the selected menu item ID. This behaves the same as tapping on an item.
示例代码
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);
}
});
编辑
像这样在 activity 中创建一个方法
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);
}
});