【问题标题】:Android decrease space or padding between icons in the action bar for actionbarsherlockAndroid 为 actionbarsherlock 减少操作栏中图标之间的空间或填充
【发布时间】:2015-10-07 13:44:16
【问题描述】:

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

风格

 <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>

【问题讨论】:

    标签: android android-actionbar actionbarsherlock padding menuitem


    【解决方案1】:

    我通过减小所用图标的宽度来实现类似的效果。这并不理想,因为方形图标看起来很拥挤,有点违背 android 的指导方针,但它确实有效。

    【讨论】:

    • 如何减小图标的宽度?通过减小图像大小?
    • 如果您在操作栏上使用的图标是方形的(可能是 64x64),然后缩小到 40x64 之类的东西,您会得到一个更窄的按钮。如前所述,这可能不可行,具体取决于您拥有的图标。
    【解决方案2】:

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

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2016-10-25
      • 2015-10-26
      • 1970-01-01
      • 2019-03-22
      • 1970-01-01
      相关资源
      最近更新 更多