将标题重力设置为ActionBarSherlock中心

时间:2012-08-25 19:47:49

标签: android android-actionbar actionbarsherlock android-theme

您好我想为我的主要活动应用自定义Backgroundlayout。我找不到解决方案。有人可以给我一些提示吗?

希望在Actionbar中只有一个带背景的简单TextView。这可能吗?

我设法删除了图标并设置了backgroundimage。但是,如何将文本的重力设置为居中并更改typefont?

getSupportActionBar().setDisplayShowHomeEnabled(false);
    getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(myimage)); 

应该如下所示: enter image description here

谢谢!

1 个答案:

答案 0 :(得分:16)

您必须为Actionbar设置自定义布局,如下所示:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setCustomView(R.layout.yourlayout);

在布局中,您可以添加TextView并将其重力设置为center。 E.g:

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Header!"
        android:id="@+id/mytext"
        android:textColor="#ffffff"
        android:textSize="25dp" />

</LinearLayout>

然后,您可以在资源中设置自定义typefont,如下所示:

 TextView txt = (TextView) findViewById(R.id.mytext);  
 Typeface font = Typeface.createFromAsset(getAssets(), "yourfont.ttf");  
 txt.setTypeface(font);