android actionbar padding left

时间:2018-03-06 22:47:03

标签: android android-actionbar

我在我的应用和Theme.Holo中使用了操作栏。我已经启用了操作栏上的后退箭头,但它有点奇怪,不像普通的箭头,我想要一些填充 - 在箭头之前和之后。

enter image description here

     final android.app.ActionBar actionBar = getActionBar();
        assert actionBar != null;
        getActionBar().setDisplayShowHomeEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle(R.string.main_activity_toolbar_title);

我不想使用工具栏或更改主题或重新创建任何内容。我只需要以编程方式或通过style.xml在其中添加填充。

我试图在style.xml中覆盖Holo主题:

   <style name="Mytheme" parent="android:Theme.Holo">
    <item name="android:paddingLeft">10dip</item>
<item name="homeAsUpIndicator">@drawable/upandback1</item>
    <item name="app:contentInsetLeft">10dip</item>
    <item name="app:contentInsetStart">10dip</item>

</style>

但没有任何作用。新箭头被忽略,但我不在乎,我只需要填充。 paddingLeft可以工作,但是对于整个布局,不仅仅是操作栏。其余的 - contentInsetLeft,不起作用。

1 个答案:

答案 0 :(得分:0)

你必须这样写:

1.第一种方式

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 getSupportActionBar().setHomeAsUpIndicator(R.drawable._0001_next_icon);
 getSupportActionBar().setTitle("title here");

2.第二种方式

- &gt;在您的清单文件中为此活动应用theam Theme.AppCompat.Light.NoActionBar

- &GT;在你的布局中实现这个:

    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:textAlignment="center">

       <ImageButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/backBtn"
        android:src="@drawable/back_btn_icon"
        android:background="@android:color/transparent"
        />

        <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        style="@style/buttonTheam"
        android:text="@string/POST_TITLE"/>
    </android.support.v7.widget.Toolbar>

它看起来像这样 screenshot