我有以下菜单:
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:title="@string/search_title"
android:id="@+id/action_search_music"
android:icon="@drawable/ic_add_final"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
<item
android:id="@+id/more_options"
android:title="Rename playlist"
android:orderInCategory="101"
app:showAsAction="always"
android:icon="@drawable/ic_more_vert_black_24dp">
<menu >
<item android:id="@+id/rename_playlist"
android:title="Rename playlist"
>
</item>
<item android:id = "@+id/action_delete_playlist"
android:title="Delete playlist"/>
</menu>
</item>
</menu>
现在,两个菜单项之间有一个很大的空间,我无法减少。有什么想法可以减少空间吗?
编辑:这里的答案:https://stackoverflow.com/a/10085862/6427401对我不起作用
答案 0 :(得分:0)
首先,我建议您查看图标图像,也许它们具有一些透明的填充。
另外,您可以使用“活动onPrepareOptionsMenu(final Menu menu)
”功能来操作菜单。
例如,您可以更改图标:
@Override
public boolean onPrepareOptionsMenu(final Menu menu) {
final MenuItem menuItem = menu.getItem(position);
Drawable icon = menuItem.getIcon();
menuItem.setIcon(doSomething(icon));
return super.onPrepareOptionsMenu(menu);
}
或者,您可以使用XML或以下类似形式的自定义actionViewClass:
menuItem.setActionView(yourView);
答案 1 :(得分:0)
在您的styles.xml中添加下一行
<item name="listPreferredItemPaddingLeft">5dp</item>
答案 2 :(得分:0)
在您的项目dimens.xml中添加以下行:
<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>
答案 3 :(得分:0)
尝试为操作栏创建自定义视图。首先创建custom_actionbar.xml(layout)。
ActionBar mActionBar = getSupportActionBar();
mActionBar.setDisplayShowHomeEnabled(false);
mActionBar.setDisplayShowTitleEnabled(false);
LayoutInflater mInflater = LayoutInflater.from(this);
View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);
// Bind view like this
// TextView mTitleTextView = (TextView) mCustomView.findViewById(R.id.title_text);
//mTitleTextView.setText("My Own Title");
mActionBar.setCustomView(mCustomView);
mActionBar.setDisplayShowCustomEnabled(true);
注意:-使用工具栏可以使自定义更加容易。
希望它会帮助您。
答案 4 :(得分:0)
将此添加到您的应用主题。
<item name="android:actionButtonStyle">@style/ActionButtonStyle</item>
ActionButtonStyle
是
<style name="ActionButtonStyle" parent="Widget.AppCompat.ActionButton">
<item name="android:minWidth">0dip</item>
<item name="android:paddingStart">8dip</item>
<item name="android:paddingEnd">8dip</item>
</style>
答案 5 :(得分:0)
我尝试了所有问题,但并非每个答案都能解决我的问题。 这帮助我解决了问题。
首先,转到 styles.xml 文件并将其放置在TAG内的下方
<style name="NavigationTheme" parent="AppTheme">
<item name="android:textSize">16sp</item>
<item name="android:layout_marginBottom">-5dp</item> </style>
接下来,在XML类(在我的情况下是activity_main.xml)部分的内部代码下面。
android:theme="@style/NavigationTheme"
就像下面的图片一样
答案 6 :(得分:0)
对我来说,我想减小物品的宽度。就是这样的组合:
<style name="ActionButton" parent="@android:style/Widget.ActionButton">
<item name="android:drawablePadding">5dp</item>
<item name="android:minWidth">0dip</item>
</style>