如何更改Android工具栏中菜单项的大小?目前菜单的大小非常小,我想增加大小。如果有人知道,请帮助我找到解决方案。
app_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
android:minHeight="?attr/actionBarSize"
android:paddingTop="@dimen/app_bar_top_padding"
android:theme="@style/ToolBarStyle"/>
Styles.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="AppTheme.Base"> </style>
<!-- Application theme. -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
<item name="colorControlHighlight">@color/primary_high_light</item>
<!-- <item name="textColorPrimary">@color/ColorPrimaryText</item> -->
</style>
<style name="ToolBarStyle" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColorPrimary">#ffffff</item>
</style>
<style name="option" parent="Theme.AppCompat.Light">
</style>
<style name="Dialog" parent="Base.Theme.AppCompat.Light.Dialog">
</style>
menu_option.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/homes"
android:title="homes"
android:icon="@drawable/ic_action_home1"
app:showAsAction="always"/>
<item android:id="@+id/profilepreview"
android:title="ProfilePreview"
android:icon="@drawable/profile"
app:showAsAction="always"/>
<item android:id="@+id/findPeople"
android:title="findPeople"
android:icon="@drawable/ic_action_search1"
app:showAsAction="always"/>
<item android:id="@+id/log"
android:title="log"
android:icon="@drawable/ic_action_logout1"
app:showAsAction="always"/>
</menu>
MainActivity.java
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_option, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.profilepreview:
startActivity(new Intent(this, ProfilePreview.class));
return true;
case R.id.homes:
mFragment = new HomeFragment();
break;
case R.id.findPeople:
mFragment = new FindFriendsFragment();
break;
case R.id.log:
M.logOut(this);
mIntent = new Intent(this, LoginActivity.class);
finish();
}
if (mFragment != null && mIntent == null) {
mFragmentManager = getFragmentManager();
mFragmentManager.beginTransaction()
.replace(R.id.frameContainer, mFragment).commit();
} else {
startActivity(mIntent);
mIntent = null;
}return super.onOptionsItemSelected(item);
}
4条答案
按热度按时间bgtovc5b1#
你可以设计一个自定义的布局,并将其添加为你的actionlayout. ALso确保你没有添加任何图标在menu.xml文件.
然后在自定义布局中给予min_height。
gv8xihay2#
我也遇到了这个问题,唯一的解决办法就是使用更小的图像。这里的图标(https://design.google.com/icons)大小为24dp,非常适合我的工具栏。
dtcbnfnu3#
我建议你阅读这个博客的自定义工具栏。
https://stablekernel.com/using-custom-views-as-menu-items/
您可以在menu-xml文件中使用“app:actionLayout”来指定另一个xml文件(您将在其中创建自定义工具栏图标),而不是将drawable_icon添加到menu-xml文件。
rxztt3cl4#
只需将矢量图像的大小(在右侧)从默认的24x24增加到不同的大小,但在一定大小之后,它将不会按比例放大。如果将其放在自定义工具栏中的一个膨胀视图(左侧为橙子背景)旁边,如图所示,大小可能会显得奇怪,解决此问题的唯一方法是使用矢量作为背景在工具栏中膨胀另一个视图。