use*_*816 4 android android-theme actionbarsherlock
有人能告诉我如何消除应用徽标左侧的填充???
这就是我在谈论的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>
Run Code Online (Sandbox Code Playgroud)
正如其中一条评论所指出的那样,填充是为up图标保留的.即使未显示向上图标,也会出现填充(因此,当您隐藏/显示向上图标时,徽标不会移动).使用操作栏(和ActionBarSherlock)基本上有两种方法可以消除差距:
1. 删除向上图标向上图标
的大小会影响左边的填充,如果放置的图像比箭头大,则间隙会更大.如果你删除它,差距将消失.请注意,删除向上图标可能无法带来您想要的精确外观.向上图标和徽标部分重叠(向上图标具有负右边距)因此删除向上图标(它实际上将图像设置为空,不影响可见性)可能导致徽标部分隐藏在左边缘后面屏幕.
要删除设置android:homeAsUpIndicator为的向上图标@null.
<style name="MyTheme" parent="@style/Theme.Sherlock">
<item name="homeAsUpIndicator">@null</item>
<item name="android:homeAsUpIndicator">@null</item>
</style>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |