工具栏图标和标题之间的间距

19
我想在工具栏图标和标题之间添加空格,同时我还想将我的应用程序中的状态栏颜色更改为与工具栏颜色相同,有人可以帮忙吗? 当前它看起来像这样:

enter image description here

这是我的代码:

public class AbstractActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_abstract);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    getSupportActionBar().setIcon(R.drawable.ic_astrological_sun);
  }
}

<?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="#0F6177"
    app:popupTheme="@style/AppTheme.PopupOverlay" >
    </android.support.v7.widget.Toolbar>
  </LinearLayout>
4个回答

29

在这里添加app:titleMarginStart="32dp"可以解决问题。

注意要使用app前缀。

上下文:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_main"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:layout_scrollFlags="scroll|enterAlways"
    app:logo="@drawable/ic_launcher"
    app:title="@string/app_name"
    app:titleMarginStart="32dp" />

15
使用默认标题工具栏左边距为16dp,可以使用 app:contentInsetStart="100dp" 更改它。
如果你有一个导航图标,标题的左边距则为56+16=72dp,默认情况下。因此,您可以使用 app:contentInsetStartWithNavigation="56dp" 进行更改。

1
当将标志设置到工具栏时,这将无法正常工作。 - Mr.Noob

2

添加 app:titleMarginStart="12dp" 就可以轻松解决问题。

 <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                app:logo="@drawable/ic_arrow_back_white_24dp"
                app:title="@string/app_name"
                app:titleMarginStart="12dp" />

-1

选项1:不建议:

在您的文本之前使用空格设置标题。例如:" 您的标题"

选项2:在您的工具栏下添加自定义的TextView,您可以在xml布局或活动类中自定义此TextView

例如:

<android.support.v7.widget.Toolbar 
        android:id="@+id/toolbar" 
        android:layout_width="match_parent" 
        android:layout_height="?attr/actionBarSize" 
        android:background="#0F6177" 
        app:popupTheme="@style/AppTheme.PopupOverlay" > 
            <TextView
                android:id="@+id/text_toolbar_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"
                android:layout_marginLeft="5dp"
                android:text="@string/app_name"
                android:textColor="@android:color/white"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textStyle="bold" />

</android.support.v7.widget.Toolbar> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接