删除自定义操作栏上的左边距

时间:2014-11-14 14:47:03

标签: android android-actionbar

首先我知道这是一个重复的问题,但没有一个答案解决了我的问题。

这是我目前的代码:

    final ActionBar actionBar = getSupportActionBar();
    actionBar.setCustomView(R.layout.action_bar);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayUseLogoEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);

XML:

    <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill_horizontal"
android:layout_gravity="fill_horizontal"
android:padding="0dp"
android:layout_margin="0dp"
android:background="@color/article_background">
<ImageButton android:src="@drawable/filter"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:background="#00000000"
    android:scaleType="centerInside"
    android:id="@+id/filters"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"/>

<ImageView
    android:src="@drawable/tc_logo"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:scaleType="centerInside"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:id="@+id/logo" />

<ImageButton android:src="@drawable/menu_button"
    android:background="#00000000"
    android:layout_width="36dp"
    android:layout_height="36dp"
    android:scaleType="centerInside"
    android:id="@+id/options"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"/>
  </LinearLayout>

还有一个左边的填充物。

我尝试了Stack Overflow的以下建议:

  • 我尝试在零填充的主题中设置自定义操作栏样式。

  • 我尝试使用相对和线性布局作为自定义布局。

  • 我尝试在主题中设置自定义操作栏图标,并启用onHomeUp以显示一个px图像..

  • 我尝试布局重力和重力来填充水平,但没有工作。

无论我做什么,它仍然会出现。

1 个答案:

答案 0 :(得分:1)

我遇到同样的问题,没有任何帮助,直到找到this SO question

TL; DR

  1. 通过调用setDisplayHomeAsUpEnabled(true)让操作栏显示其向上箭头。
  2. 根据您的应用主题在&#34; values-v14&#34;中创建一种风格(这些会 适用于SDK Version 14及更高版本。)
  3. 以新款式提供此项目:<item name="android:homeAsUpIndicator">@null</item>。这将导致up消失,但图标的填充将消失。