android - 在 Android 中为 MenuItem 添加边距

标签 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;
}

最佳答案

使用java:

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

或 XML:

将此样式添加到您的工具栏,用于您的图标。

 <style name="myToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
    <item name="android:paddingLeft">16dp</item>
</style>

当然,如果您有更多项目,则需要为您想要左填充的项目创建特定样式。

关于android - 在 Android 中为 MenuItem 添加边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33235248/

相关文章:

php - Android Asynctask更新查询远程mysql服务器

android - 如何获取在 xml 中实例化的自定义 View 的实例?

java - 为什么在构造函数中赋值时,clone()函数显示不兼容的类型?

Android 7.0 上的 Android WebView InflateException

android - 如何使用 JNI 从 Android native C++ 调用 PackageManager.hasSystemFeature?

java - 创建 Android 在线编译器需要什么?

android - 弹出带有图像的倒计时警报(android)

android - 为什么 RelativeView 不到底?

android - 禁用 ActionBar RTL 方向

Android:交换2个 View 的位置