在Android中向MenuItem添加边距

Joh*_* M. 2 android android-layout

我正在尝试在工具栏的右侧创建一个文本菜单,其左边距为16dp。有谁知道如何通过添加以下代码来设置16dp余量?

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    final MenuItem menuItem = menu.add(Menu.NONE, 100, Menu.NONE, getString(R.string.menu_done));
    MenuItemCompat.setShowAsAction(menuItem, MenuItem.SHOW_AS_ACTION_IF_ROOM);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

mas*_*inu 6

使用java:

View view = new View(this);
menuItem.setActionView(view);
view.setPadding(16,0,0,0); //left , top ,right , bottom
Run Code Online (Sandbox Code Playgroud)

或XML:

将此样式添加到工具栏上,作为图标。

 <style name="myToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
    <item name="android:paddingLeft">16dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

当然,如果您有更多项目,则需要为该项目创建特定样式,以保留其空白。