如何在Android中制作浮动的NavigationView

问题描述 投票:0回答:1

我想复制Google在其应用程序中的菜单,但我不知道是否有像NavigationView和DrawerLayout这样的组件允许制作此菜单,但不是固定在左侧,而是可以居中显示屏幕。我想要制作的菜单截图

我尝试在RelativeLayout(没有DrawerLayout)内创建一个NavigationView并手动将其居中,但我不确定这是否是正确的做法。

android kotlin android-layout navigation-drawer android-navigationview
1个回答
0
投票

如果你想制作一个像谷歌一样的菜单,它实际上没有我们想象的那么复杂。我们可以在不使用 NavigationView 的情况下做到这一点。只需创建一个简单的布局文件并在其中设计菜单即可。之后我们将使用 DialogFragment 来显示菜单。 DialogFragment 应如下所示:

public class MenuDF extends DialogFragment {

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return inflater.inflate(R.layout.menu_layout, container, false);
    }

    @Override
    public void onStart() {
        super.onStart();
        if (getDialog() != null && getDialog().getWindow() != null) {
        
    getDialog().getWindow().setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, 
    ViewGroup.LayoutParams.WRAP_CONTENT);
        }
    }
}

然后我们可以触发片段文件中的菜单。像这样:

findViewById(R.id.menu_button).setOnClickListener(v -> new MenuDF().show(getSupportFragmentManager(), "MenuDF"));
© www.soinside.com 2019 - 2024. All rights reserved.