4

有人能告诉我如何消除应用程序徽标左侧的填充吗???

这就是我所说的http://s9.postimage.org/ksxjpx1e7/Untitled.png

即使使用 ABS 演示,您也可以通过添加AndroidManifest.xml

android:logo="@drawable/icon"

我什至尝试abs__action_bar_home.xml直接编辑,但不知何故,该死的填充仍然存在。

<view xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    class="com.actionbarsherlock.internal.widget.ActionBarView$HomeView"
    android:background="#00ff00" >


    <ImageView
        android:id="@id/abs__home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
    android:padding="0dip"
    android:layout_marginLeft="0dip"
        android:layout_marginBottom="@dimen/abs__action_bar_icon_vertical_padding"
        android:layout_marginRight="8dip"
        android:layout_marginTop="@dimen/abs__action_bar_icon_vertical_padding"
        android:adjustViewBounds="true"
        android:contentDescription="@null"
        android:scaleType="fitCenter" />

        <ImageView
        android:id="@id/abs__up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|left"
        android:layout_marginRight="-8dip"
        android:contentDescription="@null"
        android:src="?attr/homeAsUpIndicator"
        android:visibility="gone"
        tools:ignore="ContentDescription" />


</view>
4

1 回答 1

8

正如其中一条评论指出的那样,填充是为向上图标保留的。即使未显示向上图标,填充也会存在(因此当您隐藏/显示向上图标时徽标不会移动)。使用操作栏(和ActionBarSherlock)基本上有两种方法可以消除间隙:

1.去掉向上图标 向上图标
的大小会影响左边的内边距,如果你放的图片比箭头大,间隙会更大。如果你删除它,差距就会消失。请注意,删除向上图标可能不会带来您想要的确切外观。向上图标和徽标部分重叠(向上图标具有负的右边距),因此删除向上图标(它实际上将图像设置为空,不影响可见性)可能会导致徽标部分隐藏在左侧边缘的后面屏幕。要删除设置为
的向上图标。android:homeAsUpIndicator@null

<style name="MyTheme" parent="@style/Theme.Sherlock">
    <item name="homeAsUpIndicator">@null</item>
    <item name="android:homeAsUpIndicator">@null</item>
</style>

2.隐藏主页布局,改用自定义视图
这样工作量更大,但可以更好地影响结果。您需要将图标和标题放入自定义视图中。要隐藏主页布局并显示自定义,您必须android:displayOptions在操作栏样式中进行设置。然后在代码中设置正确的自定义视图(您也可以在样式中设置它,但那样会出错)。

<style name="MyTheme" parent="@style/Theme.Sherlock">
    <item name="actionBarStyle">@style/MyActionBarStyle</item>
    <item name="android:actionBarStyle">@style/MyActionBarStyle</item>
</style>

<style name="MyActionBarStyle" parent="@style/Widget.Sherlock.ActionBar">
    <item name="displayOptions">showCustom</item>
    <item name="android:displayOptions">showCustom</item>
</style>
于 2013-01-25T10:24:32.663 回答