我想减少添加到ActionBar的Action Item图标之间的间距.有没有办法可以做到这一点?
actionBar图标应该像
图像
当设备分辨率为1920x1080和Android 4.2以上时,图标大小看起来非常小:
图像
(android 4.1是正确的)
我的问题似乎是我想改变动作栏图标大小.
图标图像大小为113x40,然后我使用getActionBar().getHeight()来获取ActionBar高度为56.
menu.xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_buyer"
android:icon="@drawable/buyer_bts"
android:showAsAction="ifRoom"/>
<item
android:id="@+id/menu_exhibition_bt"
android:icon="@drawable/exhibition_bt"
android:showAsAction="ifRoom"/>
<item
android:id="@+id/menu_oj"
android:icon="@drawable/download_bt"
android:showAsAction="ifRoom"/>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,但不起作用:
创建更大的图标图像(ex.170x60)然后放入drawable-hdpi(xhdpi,xxhdpi ......等)文件夹
使用menu.findItem(R.id.menu_buyer).setIcon(resizeImage(int resId,int w,int h)); 调整图标大小
在style.xml中添加了一个样式<item name ="android:actionBarSize"> 200dp </ item>,然后在Manifest文件中设置主题
有没有办法可以正确显示图标?
如何更改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"/>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
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" …Run Code Online (Sandbox Code Playgroud) 我想有一个更大的行动吧.所以我改变了样式中的操作栏大小,现在我正在寻找更改图标大小并将文本放大.
这是我的风格:
<!-- Application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:textSize">22sp</item>
<item name="android:actionBarSize">100dp</item>
<item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
<item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
</style>
<style name="MyActionButtonStyle" parent="android:style/Widget.ActionButton">
<item name="android:layout_width">fill_parent</item>
</style>
<style name="MyActionBarTabText" parent="android:style/Widget.Holo.ActionBar.TabText">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">25dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我的actionBar菜单(menu.xml):
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/app_setting"
android:title="@string/app_setting"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:icon="@drawable/ic_setting"
android:showAsAction="ifRoom" />
</menu>
Run Code Online (Sandbox Code Playgroud)
在主要课程中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
此外,我尝试了几个问题,但我无法使其发挥作用.