Android会减少actionbarsherlock操作栏中图标之间的空格或填充

时间:2014-01-20 10:37:03

标签: android android-actionbar actionbarsherlock padding menuitem

我想删除菜单项之间的空间。如图所示。我看到很多答案,几乎适用但它没有用。我使用了actionbarsherlock。我的风格如下。

enter image description here

风格

 <resources xmlns:android="http://schemas.android.com/apk/res/android">
 <style name="AppTheme" parent="Theme.Sherlock">
</style>

<style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.ActionBar">
    <item name="android:height">@dimen/actionbar_height</item>
    <item name="android:background">@color/actionbar_background__color</item>
 </style>

V-11风格

 <resources xmlns:tools="http://schemas.android.com/tools"  
    xmlns:android="http://schemas.android.com/apk/res/android">

   <style name="AppTheme" parent="Theme.Sherlock" >
    <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
    <item name="homeAsUpIndicator">@drawable/back_arrow</item>

   <item name="actionButtonStyle">@style/MYActionButtonStyle</item>
    <item name="android:actionButtonStyle">@style/MYActionButtonStyle</item>    
   <!--  <item name="android:actionOverflowButtonStyle">@style/ActionButtonStyle</item> -->

</style>

<style name="AppTheme.ActionBarStyle" parent="@style/Widget.Sherlock.ActionBar.Solid">
    <item name="android:height">@dimen/actionbar_height</item>
    <item name="android:background">@color/actionbar_background__color</item>
    <item name="android:titleTextStyle">@style/TitleText</item>

    <item name="titleTextStyle">@style/TitleText</item>


</style>

 <style name="TitleText" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@color/actionbar_textColor</item>
    <item name="android:textSize">@dimen/actionbar_title_height</item>
</style>

<style name="MYActionButtonStyle" parent="Widget.Sherlock.ActionButton">
   <item name="android:maxWidth">10dip</item>
    <item name="android:paddingLeft">0dip</item>
    <item name="android:paddingRight">0dip</item>
</style>

V-14风格

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="actionBarStyle">@style/AppTheme.ActionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
    <item name="homeAsUpIndicator">@drawable/back_arrow</item>
</style>

<style name="AppTheme.ActionBarStyle" parent="Widget.Sherlock.ActionBar">
    <item name="android:height">@dimen/actionbar_height</item>
    <item name="android:background">@color/actionbar_background__color</item>
    <item name="android:titleTextStyle">@style/TitleText</item>
    <item name="titleTextStyle">@style/TitleText</item>
</style>

<style name="TitleText" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
    <item name="android:textColor">@color/actionbar_textColor</item>
    <item name="android:textSize">@dimen/actionbar_title_height</item>
</style>

2 个答案:

答案 0 :(得分:0)

我通过减少所用图标的宽度来实现这样的目标。这并不理想,因为方形图标看起来很局促,而且有点违反了android指南,但它确实有用。

答案 1 :(得分:0)

采用自定义布局并将其指定给操作栏。 将布局分配给活动中的操作栏。

ActionBar actionBar = getSupportActionBar();         actionBar.setCustomView(R.layout.actionbar_layout);

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/actionbar_color" >

    <ImageView
        android:id="@+id/backbutton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
       android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:layout_alignParentLeft="true"
        android:src="@drawable/back_arrow" />

    <TextView
        android:id="@+id/title_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_text"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@android:color/white"
        android:textStyle="bold" />
    <ImageView
        android:id="@+id/call"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/video"
        android:layout_marginRight="2dp"
        android:layout_centerVertical="true"
        android:src="@drawable/call" />


    <ImageView
        android:id="@+id/video"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/menu"
        android:layout_marginRight="2dp"
        android:src="@drawable/videocall" />


    <ImageView
        android:id="@+id/menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="2dp"
        android:src="@drawable/options_menu" />


</RelativeLayout>