[英]Fragments overlap when using actionbar and bottom navigation
我正在尝试使用底部导航创建一个应用程序。
Layouts 和 MainActivity 是由 Android studio 自动创建的,我现在在操作栏中添加了一个图标,当按下该图标时,应该会出现一个新片段并显示设置。 问题是设置片段与底部导航的片段重叠(见图片)
在第一个图像设置中,片段与底部导航中使用的其他片段之一重叠。 其次,这应该是设置片段的显示方式(这里没有重叠,因为通知片段目前是无效的)
要在操作栏上添加设置图标,我使用了 onCreateOptionsMenu() 方法,这是我的 MainActivity class 的代码:
public class MainActivity extends AppCompatActivity {
private Client client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BottomNavigationView navView = findViewById(R.id.nav_view);
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);
this.client = null;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.actionbar_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
setFragment();
Toast.makeText(this, "Settings", Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
public void setFragment() {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.nav_host_fragment, new SettingsFragment());
ft.commit();
}
}
有人可以帮我解决这个问题吗?
为片段布局的根视图提供背景颜色
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.