1

为了使标题在我的顶栏中居中,我为 ActionBarSherlock 设置了自定义视图,如下所示:

ab.setDisplayShowCustomEnabled(true);

ab.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
ab.setCustomView(R.layout.topbar);

我的自定义视图:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:padding="5dp"
    android:background="#00ff00"
    >
    <ImageView 
        android:id="@+id/sideMenuButton"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_centerVertical="true"
        android:src="@drawable/icon_menu"
        />
    <ImageView 
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/logo"
        />

</RelativeLayout>

好吧,这很有效 - 直到它显示菜单按钮(右侧的按钮)。

他们被夸大了:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.main_menu, menu);
    //...
}

项目:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_share"
        android:actionProviderClass="com.actionbarsherlock.widget.ShareActionProvider"
        android:icon="@drawable/icon_foo"
        android:showAsAction="always"
        android:title="@string/foo"
        android:visible="false"/>

//...
</menu>

如何获得顶部栏的整个布局 - 如果我说“中心”,它真的以所有可用宽度为中心?我没有可能重叠的问题,因为居中的徽标和菜单项是固定大小的图像。

我也可以测量屏幕的宽度并动态设置左边距,但我希望有更好的解决方案。

提前致谢。

4

0 回答 0