有人知道如何在ActionBar的主页图标和标题之间设置填充吗?
发布于 2014-10-29 18:02:20
我调整了Cliffus answer,并在我的actionbar样式定义中指定了logo-drawable,例如,在res/style.xml中如下所示:
<item name="android:actionBarStyle">@style/MyActionBar</item>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#3f51b5</item>
<item name="android:titleTextStyle">@style/ActionBar.TitleText</item>
<item name="android:textColor">#fff</item>
<item name="android:textSize">18sp</item>
<item name="android:logo">@drawable/actionbar_space_between_icon_and_title</item>
</style>
这张图看起来像克里夫斯在res/drawable/actionbar_space_between_icon_and_title.xml:中的(这里有默认的应用程序启动图标)
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/ic_launcher"
android:right="20dp"/>
</layer-list>
在android_manifest.xml中,您仍然可以设置不同的应用程序图标(桌面上的启动器图标。此处的任何不同徽标定义在没有操作栏的活动中都可见。
发布于 2014-02-05 21:29:38
我也遇到了类似的问题,在我的例子中,我不得不根据内容动态地为每个活动设置标题。
所以这对我很有效。
actionBar.setTitle(" " + yourActivityTitle);
如果你想要的只是间距,这是我能想到的最简单的解决方案。
发布于 2012-04-12 17:06:59
这就是我如何能够设置主页图标和标题之间的填充。
ImageView view = (ImageView)findViewById(android.R.id.home);
view.setPadding(left, top, right, bottom);
但是,我找不到一种方法来通过ActionBar xml样式对其进行自定义。也就是说,以下XML不起作用:
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/ActionBarTitle</item>
<item name="android:icon">@drawable/ic_action_home</item>
</style>
<style name="ActionBarTitle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textSize">18sp</item>
<item name="android:paddingLeft">12dp</item> <!-- Can't get this padding to work :( -->
</style>
但是,如果您希望通过xml实现这一点,这两个链接可能会帮助您找到解决方案:
https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml
(这是用于在操作栏中显示主页图标的实际布局) https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/action_bar_home.xml
https://stackoverflow.com/questions/9737101
复制相似问题