设置抽屉视图宽度以在 DrawerLayout 中包裹内容

Set drawer view width to wrap content in DrawerLayout

我有一个 DrawerLayout,其中一个 FrameLayout 用于内容,一个 ListView 用于抽屉。

我希望打开的抽屉足够宽以适合所有物品的宽度。

我尝试在 ListView 和行布局中设置 wrap_content,但抽屉总是占满屏幕的 80%。它仅在我将 ListView 宽度设置为固定 dp 值时发生变化。

我应该怎么做?

导航抽屉宽度应为屏幕宽度减去操作栏(工具栏等)的高度,即介于 240dp 到 360dp 之间。我相信 NavigationView class 如果设置为包装内容会自动设置真实宽度。因此,如果您想包装列表视图的内容,请使用 Framelayout(旧解决方案)或编写您自己的 NavigationView class.