繁体   English   中英

使用操作栏和底部导航时片段重叠

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM