タイトルをトップバーの中央に配置するために、次のように 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>
トップバーのレイアウト全体を取得するにはどうすればよいですか?「中央」と言うと、利用可能なすべての幅で実際に中央に配置されますか? 中央のロゴとメニュー項目は固定サイズの画像なので、重なる可能性の問題はありません。
画面の幅を測定して左マージンを動的に設定することもできますが、これにはもっと良い解決策があることを願っています。
前もって感謝します。