如何向ActionBar项添加填充

时间:2015-06-05 20:19:30

标签: android android-actionbar padding

我为此搜索了一个解决方案,有些人建议我在设置操作栏标题时包含空格:

actionBar.setTitle("   Ribbit");

它运行正常,但是我想知道是否有更好的方法来实现这一点,例如在某处添加android:padding xml属性。

2 个答案:

答案 0 :(得分:1)

  

它工作得很好,就像这样,但我想知道是否有更好的方法   实现这一点,例如添加android:padding xml   属性某处。

更好的方法是确保为ActionBar创建自定义布局(视图)(现在它应该被称为工具栏,因为ActionBar现已弃用)。

使用自定义布局,您可以根据需要设置ActionBar的样式。可能性是无穷无尽的。 Here是您可以开始的重点。

答案 1 :(得分:1)

最好的方法是使用Material Design Toolbar小部件。

创建工具栏app_bar.xml文件,您可以给出您想要的名称。

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">

  <!-- This textView will act as Title of page which you can make it Center or change padding/margin to change its position -->
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30sp"
    android:paddingTop="0dp"
    android:text="Home"
    android:layout_gravity="center"
    android:id="@+id/toolbar_title" />
 </android.support.v7.widget.Toolbar>

确保您使用

在styles.xml中选择了主题
"Theme.AppCompat.NoActionBar"

之后,您需要在mainActivity.xml布局文件中初始化此工具栏,包括此内容,

 <include
        android:id="@+id/app_toolbar"
        layout="@layout/app_toolbar"/>

然后在MainActivity中,您需要创建工具栏工具栏的实例。然后,在setContentView()之后 添加以下内容

 toolbar = (Toolbar) findViewById(R.id.app_toolbar);
    setSupportActionBar(toolbar);

确保禁用

ActionBar actionBar = getSupportActionBar();    
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayShowHomeEnabled(false);

因此它不会复制工具栏的标题并从应用程序继承。