gpt4 book ai didi

android - 删除 App Logo 旁边的空白区域(ActionBar Sherlock)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:36 27 4
gpt4 key购买 nike

谁能告诉我如何消除应用程序 Logo 左侧的填充???

这就是我所说的 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>

最佳答案

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

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

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

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

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

关于android - 删除 App Logo 旁边的空白区域(ActionBar Sherlock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14468566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com